paypro: start implementing more rfc5280 definitions.
This commit is contained in:
parent
83286113ff
commit
6be8ad1790
105
lib/PayPro.js
105
lib/PayPro.js
|
@ -274,6 +274,7 @@ PayPro.prototype.x509Verify = function() {
|
||||||
|
|
||||||
var rfc5280 = {};
|
var rfc5280 = {};
|
||||||
|
|
||||||
|
var AuthorityKeyIdentifier =
|
||||||
rfc5280.AuthorityKeyIdentifier = asn1.define('AuthorityKeyIdentifier', function() {
|
rfc5280.AuthorityKeyIdentifier = asn1.define('AuthorityKeyIdentifier', function() {
|
||||||
this.seq().obj(
|
this.seq().obj(
|
||||||
this.key('keyIdentifier').optional().octstr(),
|
this.key('keyIdentifier').optional().octstr(),
|
||||||
|
@ -282,6 +283,110 @@ rfc5280.AuthorityKeyIdentifier = asn1.define('AuthorityKeyIdentifier', function(
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var GeneralNames =
|
||||||
|
rfc5280.GeneralNames = asn1.define('GeneralNames', function() {
|
||||||
|
this.seq().obj(
|
||||||
|
this.key('generalNames').use(rfc5280.GeneralName)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
var GeneralName =
|
||||||
|
rfc5280.GeneralName = asn1.define('GeneralName', function() {
|
||||||
|
this.choice({
|
||||||
|
otherName: this.use(OtherName),
|
||||||
|
rfc822Name: this.use(IA5String),
|
||||||
|
dNSName: this.use(IA5String),
|
||||||
|
x400Address: this.use(ORAddress),
|
||||||
|
directoryName: this.use(rfc3280.Name),
|
||||||
|
ediPartyName: this.use(EDIPartyName),
|
||||||
|
uniformResourceIdentifier: this.use(IA5String),
|
||||||
|
iPAddress: this.octstr(),
|
||||||
|
registeredID: this.objid()
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var OtherName =
|
||||||
|
rfc5280.OtherName = asn1.define('OtherName', function() {
|
||||||
|
this.seq().obj(
|
||||||
|
this.key('typeId').objid(),
|
||||||
|
this.key('value')
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
// https://www.google.com/search?q=IA5String
|
||||||
|
// https://en.wikipedia.org/wiki/IA5STRING
|
||||||
|
// http://msdn.microsoft.com/en-us/library/windows/desktop/bb540805(v=vs.85).aspx
|
||||||
|
var IA5String =
|
||||||
|
rfc5280.IA5String = asn1.define('IA5String', function() {
|
||||||
|
this.octstr(); // unsure
|
||||||
|
});
|
||||||
|
|
||||||
|
var ORAddress =
|
||||||
|
rfc5280.ORAddress = asn1.define('ORAddress', function() {
|
||||||
|
this.seq().obj(
|
||||||
|
this.key('builtInStandardAttributes').use(BuiltInStandardAttributes),
|
||||||
|
this.key('builtInDomainDefinedAttributes').optional().use(BuiltInDomainDefinedAttributes),
|
||||||
|
this.key('extensionAttributes').optional().use(ExtensionAttributes)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
var BuiltInStandardAttributes =
|
||||||
|
rfc5280.BuiltInStandardAttributes = asn1.define('BuiltInStandardAttributes', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
var BuiltInDomainDefinedAttributes =
|
||||||
|
rfc5280.BuiltInDomainDefinedAttributes = asn1.define('BuiltInDomainDefinedAttributes', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
var ExtensionAttributes =
|
||||||
|
rfc5280.ExtensionAttributes = asn1.define('ExtensionAttributes', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
var EDIPartyName = rfc5280.EDIPartyName = asn1.define('EDIPartyName', function() {
|
||||||
|
this.seq().obj(
|
||||||
|
this.key('nameAssigner').optional().use(DirectoryString),
|
||||||
|
this.key('partyName').use(DirectoryString)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
var DirectoryString = rfc5280.DirectoryString = asn1.define('DirectoryString', function() {
|
||||||
|
this.choice({
|
||||||
|
teletexString: this.use(TeletexString),
|
||||||
|
printableString: this.use(PrintableString),
|
||||||
|
universalString: this.use(UniversalString),
|
||||||
|
utf8String: this.use(UTF8String),
|
||||||
|
bmpString: this.use(BMPString)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var TeletexString =
|
||||||
|
rfc5280.TeletexString = asn1.define('TeletexString', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
var PrintableString =
|
||||||
|
rfc5280.PrintableString = asn1.define('PrintableString', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
var UniversalString =
|
||||||
|
rfc5280.UniversalString = asn1.define('UniversalString', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
var UTF8String =
|
||||||
|
rfc5280.UTF8String = asn1.define('UTF8String', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
var BMPString =
|
||||||
|
rfc5280.BMPString = asn1.define('BMPString', function() {
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
// rfc5280.SubjectKeyIdentifier = asn1.define('SubjectKeyIdentifier', function() {
|
// rfc5280.SubjectKeyIdentifier = asn1.define('SubjectKeyIdentifier', function() {
|
||||||
// this.seq().obj(
|
// this.seq().obj(
|
||||||
// this.key('keyIdentifier').optional().octstr(),
|
// this.key('keyIdentifier').optional().octstr(),
|
||||||
|
|
Loading…
Reference in New Issue