paypro: account for PEM metadata as per rfc1424.

This commit is contained in:
Christopher Jeffrey 2014-09-05 17:04:14 -07:00
parent 90f99fe744
commit 9dbe45ad03
3 changed files with 3 additions and 1 deletions

View File

@ -49,6 +49,7 @@ function getRootCerts(callback) {
+ ' pem = pem + "";\n' + ' pem = pem + "";\n'
+ ' pem = pem.replace(/-----BEGIN CERTIFICATE-----/g, "");\n' + ' pem = pem.replace(/-----BEGIN CERTIFICATE-----/g, "");\n'
+ ' pem = pem.replace(/-----END CERTIFICATE-----/g, "");\n' + ' pem = pem.replace(/-----END CERTIFICATE-----/g, "");\n'
+ ' pem = pem.trim().split(/(?:\\r?\\n){2,}/).pop();'
+ ' pem = pem.replace(/\\s+/g, "");\n' + ' pem = pem.replace(/\\s+/g, "");\n'
+ ' if (!Object.prototype.hasOwnProperty.call(trusted, pem)) return;\n' + ' if (!Object.prototype.hasOwnProperty.call(trusted, pem)) return;\n'
+ ' return trusted[pem];\n' + ' return trusted[pem];\n'

View File

@ -399,7 +399,7 @@ PayPro.prototype._DERtoPEM = function(der, type) {
if (typeof der === 'string') { if (typeof der === 'string') {
der = new Buffer(der, 'hex'); der = new Buffer(der, 'hex');
} }
var type = type || 'UNKNOWN'; var type = type || 'PRIVACY-ENHANCED MESSAGE';
der = der.toString('base64'); der = der.toString('base64');
der = der.replace(/(.{64})/g, '$1\r\n'); der = der.replace(/(.{64})/g, '$1\r\n');
der = der.replace(/\r\n$/, ''); der = der.replace(/\r\n$/, '');

View File

@ -3718,6 +3718,7 @@ function getTrusted(pem) {
pem = pem + ""; pem = pem + "";
pem = pem.replace(/-----BEGIN CERTIFICATE-----/g, ""); pem = pem.replace(/-----BEGIN CERTIFICATE-----/g, "");
pem = pem.replace(/-----END CERTIFICATE-----/g, ""); pem = pem.replace(/-----END CERTIFICATE-----/g, "");
pem = pem.trim().split(/(?:\r?\n){2,}/).pop();
pem = pem.replace(/\s+/g, ""); pem = pem.replace(/\s+/g, "");
if (!Object.prototype.hasOwnProperty.call(trusted, pem)) return; if (!Object.prototype.hasOwnProperty.call(trusted, pem)) return;
return trusted[pem]; return trusted[pem];