From 71f863ebb649921b6364e55bf7a689e8560d8975 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Mon, 25 Aug 2014 12:50:27 -0700 Subject: [PATCH] paypro: add string types - need to fork asn1.js. --- lib/PayPro.js | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/PayPro.js b/lib/PayPro.js index 59042a2f2..358bf8d3c 100644 --- a/lib/PayPro.js +++ b/lib/PayPro.js @@ -285,8 +285,9 @@ rfc5280.AuthorityKeyIdentifier = asn1.define('AuthorityKeyIdentifier', function( var GeneralNames = rfc5280.GeneralNames = asn1.define('GeneralNames', function() { + this.seqof(GeneralName); this.seq().obj( - this.key('generalNames').use(rfc5280.GeneralName) + this.key('generalNames').use(GeneralName) ); }); @@ -345,14 +346,16 @@ rfc5280.ExtensionAttributes = asn1.define('ExtensionAttributes', function() { ; }); -var EDIPartyName = rfc5280.EDIPartyName = asn1.define('EDIPartyName', 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() { +var DirectoryString = +rfc5280.DirectoryString = asn1.define('DirectoryString', function() { this.choice({ teletexString: this.use(TeletexString), printableString: this.use(PrintableString), @@ -362,31 +365,35 @@ var DirectoryString = rfc5280.DirectoryString = asn1.define('DirectoryString', f }); }); +// https://www.google.com/search?q=TeletexString +// http://msdn.microsoft.com/en-us/library/windows/desktop/bb540814(v=vs.85).aspx + var TeletexString = rfc5280.TeletexString = asn1.define('TeletexString', function() { - ; + this.t61str(); }); var PrintableString = rfc5280.PrintableString = asn1.define('PrintableString', function() { - ; + this.printstr(); }); var UniversalString = rfc5280.UniversalString = asn1.define('UniversalString', function() { - ; + this.unistr(); }); var UTF8String = rfc5280.UTF8String = asn1.define('UTF8String', function() { - ; + this.utf8str(); }); var BMPString = rfc5280.BMPString = asn1.define('BMPString', function() { - ; + this.bmpstr(); }); +// var SubjectKeyIdentifier = // rfc5280.SubjectKeyIdentifier = asn1.define('SubjectKeyIdentifier', function() { // this.seq().obj( // this.key('keyIdentifier').optional().octstr(), @@ -395,10 +402,12 @@ rfc5280.BMPString = asn1.define('BMPString', function() { // ); // }); +var KeyUsage = rfc5280.KeyUsage = asn1.define('KeyUsage', function() { this.bitstr(); }); +// var KeyUsage = // rfc5280.KeyUsage = asn1.define('KeyUsage', function() { // this.seq().obj( // this.key('digitalSignature').bitstr(),