Browse Source

paypro: multiple fixes.

patch-2
Christopher Jeffrey 10 years ago
parent
commit
4ec9a247aa
  1. 6
      lib/PayPro.js
  2. 8
      lib/browser/PayPro.js

6
lib/PayPro.js

@ -214,7 +214,7 @@ PayPro.prototype.sign = function(key) {
var crypto = require('crypto');
var pki_data = this.get('pki_data'); // contains one or more x509 certs
var details = this.get('serialized_payment_details');
var type = pki_type.split('+').toUpperCase();
var type = pki_type.split('+')[1].toUpperCase();
var signature = crypto.createSign('RSA-' + type);
var buf = this.serializeForSig();
signature.update(buf);
@ -244,7 +244,7 @@ PayPro.prototype.verify = function() {
var pki_data = this.get('pki_data');
var details = this.get('serialized_payment_details');
var buf = this.serializeForSig();
var type = pki_type.split('+').toUpperCase();
var type = pki_type.split('+')[1].toUpperCase();
var verifier = crypto.createVerify('RSA-' + type);
verifier.update(buf);
@ -254,7 +254,7 @@ PayPro.prototype.verify = function() {
var der = pki_data.toString('hex');
var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(der, 'CERTIFICATE');
var pub = KJUR.KEYUTIL.getHexKeyFromPEM(pem, 'PUBLIC KEY')
var pub = KJUR.KEYUTIL.getHexFromPEM(pem, 'PUBLIC KEY')
// var pub = KJUR.X509.getPublicKeyFromCertPEM(pem);
return verifier.verify(pub, sig);

8
lib/browser/PayPro.js

@ -26,7 +26,7 @@ PayPro.sign = function(key) {
} else if (pki_type === 'x509+sha1' || pki_type === 'x509+sha256') {
var crypto = require('crypto');
var pki_data = this.get('pki_data'); // contains one or more x509 certs
var type = pki_type.split('+').toUpperCase();
var type = pki_type.split('+')[1].toUpperCase();
var buf = this.serializeForSig();
pki_data = pki_data && pki_data.unshift
@ -35,7 +35,7 @@ PayPro.sign = function(key) {
var der = pki_data.toString('hex');
var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(der, 'CERTIFICATE');
var pub = KJUR.KEYUTIL.getHexKeyFromPEM(pem, 'PUBLIC KEY')
var pub = KJUR.KEYUTIL.getHexFromPEM(pem, 'PUBLIC KEY')
// var pub = KJUR.X509.getPublicKeyFromCertPEM(pem);
var jsrsaSig = new KJUR.crypto.Signature({
@ -70,7 +70,7 @@ PayPro.verify = function() {
var sig = this.get('signature');
var pki_data = this.get('pki_data');
var buf = this.serializeForSig();
var type = pki_type.split('+').toUpperCase();
var type = pki_type.split('+')[1].toUpperCase();
var jsrsaSig = new KJUR.crypto.Signature({
alg: type + 'withRSA',
@ -83,7 +83,7 @@ PayPro.verify = function() {
var der = pki_data.toString('hex');
var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(der, 'CERTIFICATE');
var pub = KJUR.KEYUTIL.getHexKeyFromPEM(pem, 'PUBLIC KEY')
var pub = KJUR.KEYUTIL.getHexFromPEM(pem, 'PUBLIC KEY')
// var pub = KJUR.X509.getPublicKeyFromCertPEM(pem);
jsrsaSig.initVerifyByCertificatePEM(pem);

Loading…
Cancel
Save