Можно ли использовать XML Crypto с ключом PSHA1 (http://schemas.xmlsoap.org/ws/2005/02/trust/CK/PSHA1)?
У меня есть оба секрета, и я генерирую ключевую строку PSHA1, используя их, однако это не удается:
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
Я не знаю, в каком формате должен быть принят этот ключ, это не сертификат PEM, а просто строка, основанная на двух предоставленных одноразовых номерах. Один предоставляется клиентом во время запроса, а другой — сервером в ответе.
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
}





Алгоритм PSHA1 не реализован в Crypto Library, но есть пакет PSHA1 npm, который вы можете использовать для генерации секретного ключа. После этого вы можете сгенерировать хэш SHA1, используя сообщение и ключ стандартным способом.
Я задал очень похожий вопрос здесь, который отвечает на вопрос: https://stackoverflow.com/a/55053741/5065447