|
@ -29,11 +29,14 @@ PayPro.sign = function(key) { |
|
|
var type = pki_type.split('+').toUpperCase(); |
|
|
var type = pki_type.split('+').toUpperCase(); |
|
|
var buf = this.serializeForSig(); |
|
|
var buf = this.serializeForSig(); |
|
|
|
|
|
|
|
|
// TODO: parse all certs
|
|
|
pki_data = pki_data && pki_data.unshift |
|
|
// var cert = pki_data.split(/-----BEGIN[^\n]*KEY-----/)[0].replace(/\s+/g, '');
|
|
|
? pki_data[0] |
|
|
// if (!Trusted[cert])) {
|
|
|
: pki_data; |
|
|
// ; // untrusted cert
|
|
|
|
|
|
// }
|
|
|
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.X509.getPublicKeyFromCertPEM(pem);
|
|
|
|
|
|
|
|
|
var jsrsaSig = new KJUR.crypto.Signature({ |
|
|
var jsrsaSig = new KJUR.crypto.Signature({ |
|
|
alg: type + 'withRSA', |
|
|
alg: type + 'withRSA', |
|
@ -74,7 +77,16 @@ PayPro.verify = function() { |
|
|
prov: 'cryptojs/jsrsa' |
|
|
prov: 'cryptojs/jsrsa' |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
jsrsaSig.initVerifyByCertificatePEM(pki_data); |
|
|
pki_data = pki_data && pki_data.unshift |
|
|
|
|
|
? pki_data[0] |
|
|
|
|
|
: pki_data; |
|
|
|
|
|
|
|
|
|
|
|
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.X509.getPublicKeyFromCertPEM(pem);
|
|
|
|
|
|
|
|
|
|
|
|
jsrsaSig.initVerifyByCertificatePEM(pem); |
|
|
|
|
|
|
|
|
jsrsaSig.updateHex(buf.toString('hex')); |
|
|
jsrsaSig.updateHex(buf.toString('hex')); |
|
|
|
|
|
|
|
|