2016-06-07 1 views
3

J'essayais de crypter et de signer un message en utilisant OpenPgpjs.Message de chiffrement d'erreur: La clé privée n'est pas décryptée

Mais je continue à obtenir cette erreur « erreur cryptage message: la clé privée ne sont pas déchiffrées »

C'est ce que j'ai essayé:

var openpgp = require('openpgp'); 

var publicKey = [].join("\n"); //This has the complete key. Removed for representation 
var privateKey = [].join("\n"); //This has the complete key. Removed for representation 
var publicKeys = openpgp.key.readArmored(publicKey).keys; 
var privateKeys = openpgp.key.readArmored(privateKey).keys; 

encryptionOptions = { 
    data : 'Example Test', 
    publicKeys : publicKeys, 
    privateKeys : privateKeys 
}; 

return openpgp.encrypt(encryptionOptions).then(function(ciphertext) { 
    encryptedData = ciphertext.data; 
    console.log(ciphertext); 
    return encryptedData; 
}); 

Répondre

3

Vous devez déchiffrer votre clé privée si vous voulez signer :

var pub = openpgp.key.readArmored(publicKey); 
var priv = openpgp.key.readArmored(privateKey); 

// decrypt the private key with password 
var success = priv.keys[0].decrypt('my-secret-password'); 

var options = { 
    data: 'Hello, World!', 
    publicKeys: pub.keys, 
    privateKeys: priv.keys // for signing (optional) 
}; 

openpgp.encrypt(options).then(function(ciphertext) { 
    console.log (ciphertext.data); 
});