diff --git a/src/message.js b/src/message.js index f24a619b..e454607c 100644 --- a/src/message.js +++ b/src/message.js @@ -564,9 +564,14 @@ export async function createVerificationObjects(signatureList, literalDataList, } })); + const literalDataPacket = literalDataList[0]; + if (signature.signatureType === enums.signature.text) { + literalDataPacket.setText(literalDataPacket.getText()); + } + const verifiedSig = { keyid: signature.issuerKeyId, - valid: keyPacket ? await signature.verify(keyPacket, literalDataList[0]) : null + valid: keyPacket ? await signature.verify(keyPacket, literalDataPacket) : null }; const packetlist = new packet.List(); diff --git a/src/openpgp.js b/src/openpgp.js index b1d77d0a..a1ef6550 100644 --- a/src/openpgp.js +++ b/src/openpgp.js @@ -335,9 +335,7 @@ export function decrypt({ message, privateKeys, passwords, sessionKeys, publicKe * @async * @static */ -export function sign({ - data, privateKeys, armor=true, detached=false, date=new Date() -}) { +export function sign({ data, privateKeys, armor=true, detached=false, date=new Date() }) { checkData(data); privateKeys = toArray(privateKeys); diff --git a/src/packet/literal.js b/src/packet/literal.js index 9ce967a9..453dddf2 100644 --- a/src/packet/literal.js +++ b/src/packet/literal.js @@ -49,8 +49,9 @@ function Literal(date=new Date()) { Literal.prototype.setText = function(text) { // normalize EOL to \r\n text = text.replace(/\r\n/g, '\n').replace(/\r/g, '\n').replace(/\n/g, '\r\n'); + this.format = 'utf8'; // encode UTF8 - this.data = this.format === 'utf8' ? util.str_to_Uint8Array(util.encode_utf8(text)) : util.str_to_Uint8Array(text); + this.data = util.str_to_Uint8Array(util.encode_utf8(text)); }; /**