Мне нужно зашифровать (и расшифровать) строку открытым ключом, ранее сгенерированным в nodejs (я использую версию 0.12) с криптовым модулем, но я не могу это сделать.Публичное шифрование в крипто на узле 0.12
Для первого я генерироваться ключи следующим образом:
var diffHell = crypto.createDiffieHellman(60);
diffHell.generateKeys('base64');
var publicKey = diffHell.getPublicKey('base64'); //or whatever 'hex','binary'
var privateKey = diffHell.getPrivateKey('base64'); //or whatever 'hex','binary'
Затем я попытался зашифровать строку, используя сгенерированный открытый ключ:
crypto.publicEncrypt({key: publicKey}, new Buffer(textToEncrypt));
Запуск этого фрагмента, узел бросить эту ошибку:
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Error (native)
at Object.exports.publicEncrypt (crypto.js:362:18)
[...]
Чтение, я понимаю, что ключ должен быть в формате PEM, но я могу не найти в документации, как преобразовать открытый ключ в PEM.
Итак, как я могу это сделать? Кто-то это сделал?
Я знаю о существовании ursa, но, если возможно, я предпочитаю не использовать сторонние модули для этого сценария , Мне нужна асимметричная подписка, нет способа сделать это со стандартными библиотеками? – gdg
Нет, нет –