Created
September 29, 2018 18:19
-
-
Save c0rp-aubakirov/75098e5a0744dcbbff5d35de62ba78dd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var SignedXml = require('xml-crypto').SignedXml | |
, fs = require('fs') | |
var xml = `<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><certificateNumber xmlns="https://allpay.kz">27</certificateNumber></soap:Header><soap:Body><ns2:createCashInTransaction xmlns:ns2="http://www.allpay.kz/mfs/soap/TransactionManagement/1.1"><CashInRequest><header><lang>ru</lang><timestamp>2018-08-10T19:04:11.385+06:00</timestamp><requester>10124213</requester></header><toUserName>77072734954</toUserName><amount>10</amount><GUID>fa495ffa-4825-485e-9b14-a04c6d8315d2</GUID></CashInRequest></ns2:createCashInTransaction></soap:Body></soap:Envelope>` | |
var sig = new SignedXml(null) | |
sig.signatureAlgorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" | |
sig.canonicalizationAlgorithm = "http://www.w3.org/2001/10/xml-exc-c14n#WithComments" | |
sig.addReference( | |
// reference to the root node | |
"/*", | |
[ | |
'http://www.w3.org/2000/09/xmldsig#enveloped-signature' | |
], | |
'http://www.w3.org/2000/09/xmldsig#sha1', | |
'', | |
'', | |
'', | |
// let the URI attribute with an empty value, | |
// this is the signal that the signature is affecting the whole xml document | |
true | |
); | |
sig.signingKey = fs.readFileSync("client.pem") | |
sig.computeSignature(xml) | |
fs.writeFileSync("signed.xml", sig.getSignedXml()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment