Получение ошибки «данные слишком велики для размера ключа» с Crypto Node.js

Я получаю ошибку"Error: error:0406C06E:rsa routines:RSA_padding_add_PKCS1_type_1:data too large for key size" когда я делаю:

var crypto = require('crypto');
var fs = require('fs');

var first_keys = {
    public_key: fs.readFileSync('tests/public.key'),
    private_key: fs.readFileSync('tests/private.key')
}

var first_result = crypto.privateEncrypt({
    key: first_keys.private_key
}, new Buffer("Hello World!"));

var second_result = crypto.privateEncrypt({
    key: first_keys.private_key
}, first_result);

var second_plaintext = crypto.publicDecrypt({
    key: first_keys.public_key
}, second_result);

var first_plaintext = crypto.publicDecrypt({
    key: first_keys.public_key
}, second_plaintext);

if(first_plaintext == new Buffer("Hello World!"))
    console.log("Hello World!");

Я знаю, что это странно, но я создаю процесс, который требует, чтобы это работало в течение n итераций (частное шифрование для n ключей и открытое дешифрование для n ключей). Я использую один ключ для тестирования.

Ответы на вопрос(1)

Ваш ответ на вопрос