Я использую node.js 0.10.12. Я создал 2048-разрядные пары ключей RSA, которые я локально храню как .pem-файлы.Node.js Встроенный криптографический код: RSA-дешифрование
Используя встроенную библиотеку 'crypto', которая поставляется с узлом, я пытаюсь расшифровать блок данных, зашифрованный открытым ключом RSA, упомянутым выше.
Я получил это далеко:
var privateKey = fs.readFileSync('private.pem', { encoding: 'utf8' });
var cryptOpt = { key: /* PEM encoded private key */ privKey };
var cred = crypto.createCredentials(cryptOpt);
var rsa = crypto.createDecipheriv('rsa', cred.?key-in-binary-format?, cred.?initialization vector?);
Я не уверен, что я на правильном пути здесь.
• Я не знаю, где ключ хранится в двоичной форме внутри «cred».
• Я не знаю, что ввести параметр инициализации-вектора.
Данные будут зашифрованы с использованием стандартных библиотек iOS, которые, насколько мне известно, не позволяют пользователю указывать вектор инициализации при шифровании с помощью RSA.
Я не был в состоянии извлечь много знаний и понимания от Node.js криптографических документов: http://nodejs.org/api/crypto.html
Да, я понял, что для RSA нет встроенной поддержки. Тот факт, что в классах: шифр/расшифровка в документации упоминается только обновление/окончательные вызовы, должно было поднять флаги в моем мозгу, но этого не произошло. С тех пор я нашел решение на GitHUB URSA, есть даже встроенная реализация: https://github.com/Obvious/ursa – zra