Fix signature type of one-pass signatures when passing a signature

If the type of the signature passed to openpgp.encrypt() did not
match the "expected" type (text for literal text packets, etc)
the signature type would be set incorrectly.
This commit is contained in:
Daniel Huigens 2018-06-18 19:19:36 +02:00
parent 4d82d25559
commit ad92ac7c3a

View File

@ -415,7 +415,7 @@ Message.prototype.sign = async function(privateKeys=[], signature=null, date=new
for (i = existingSigPacketlist.length - 1; i >= 0; i--) { for (i = existingSigPacketlist.length - 1; i >= 0; i--) {
const signaturePacket = existingSigPacketlist[i]; const signaturePacket = existingSigPacketlist[i];
const onePassSig = new packet.OnePassSignature(); const onePassSig = new packet.OnePassSignature();
onePassSig.signatureType = signatureType; onePassSig.signatureType = signaturePacket.signatureType;
onePassSig.hashAlgorithm = signaturePacket.hashAlgorithm; onePassSig.hashAlgorithm = signaturePacket.hashAlgorithm;
onePassSig.publicKeyAlgorithm = signaturePacket.publicKeyAlgorithm; onePassSig.publicKeyAlgorithm = signaturePacket.publicKeyAlgorithm;
onePassSig.issuerKeyId = signaturePacket.issuerKeyId; onePassSig.issuerKeyId = signaturePacket.issuerKeyId;