是否可以使用PSHA1 (http://schemas.xmlsoap.org/ws/2005/02/trust/CK/PSHA1)密钥使用XML?
我有两个秘密,并使用它们生成一个PSHA1密钥字符串,但是这在以下情况下失败:
错误:错误:0906D06C:PEM routines:PEM_read_bio:no起始线
我不知道这个密钥需要什么样的格式才能被接受,它不是PEM证书,只是一个基于2提供的字符串,一个是客户端在请求期间提供的,另一个是服务器在响应中提供的。
const sig = new SignedXml();
sig.addReference("/*[local-name()='Envelope']/*[local-name()='Header']/*[local-name()='Security']/*[local-name()='Timestamp']");
sig.signingKey = '<SIGNING_KEY>';
sig.computeSignature(xml);
fs.writeFileSync('signed.xml', sig.getSignedXml());
它在这里的signer.sign行上失败:
this.getSignature = function(signedInfo, signingKey) {
var signer = crypto.createSign("RSA-SHA1")
signer.update(signedInfo)
var res = signer.sign(signingKey, 'base64')
return res
}发布于 2019-03-07 22:25:31
PSHA1算法没有在Crypto中实现,但是有一个PSHA1 npm包可以用来生成密钥。之后,您可以以标准的方式使用消息和密钥生成SHA1哈希。
我在这里问了一个非常类似的问题,它回答了这个问题:https://stackoverflow.com/a/55053741/5065447
https://stackoverflow.com/questions/55029822
复制相似问题