@Aslero

Как зашифровать данные с помощью public key RSA x509 2048?

Подскажите модуль для работы с Этим шифорвание

Через crypto что-то не получается

const encrypted = crypto.publicEncrypt( { key: `MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAW3P7gObqvIjJA3L7ZMVDdJ5lLis4jpShq14xWtS3AvnStWV4xY2BQ74bE08PvomByQc585vM7/HQNj2JNwQXwbjhyL5noC5Da3YGt5RiPMARa61LVeBcN8pipJNZoaFSrpMeG1CE45NMNhAnphv0WXzdX+9sr2uateIOi3Ab5QIDAQAB`, padding: crypto.constants.RSA_PKCS1_PADDING, }, Buffer.from(cardData), );

error
Error: error:1E08010C:DECODER routines::unsupported at Object.publicEncrypt (node:internal/crypto/cipher:79:12)


так же пробовал вот так, но все ровно та же ошибка
const publicKey = Buffer.from(
      'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAW3P7gObqvIjJA3L7ZMVDdJ5lLis4jpShq14xWtS3AvnStWV4xY2BQ74bE08PvomByQc585vM7/HQNj2JNwQXwbjhyL5noC5Da3YGt5RiPMARa61LVeBcN8pipJNZoaFSrpMeG1CE45NMNhAnphv0WXzdX+9sr2uateIOi3Ab5QIDAQAB',
      'base64',
    );
    const encrypted = crypto.publicEncrypt(
      {
        key: publicKey,
        padding: crypto.constants.RSA_PKCS1_PADDING,
      },
      Buffer.from(cardData, 'base64'),
    );
  • Вопрос задан
  • 252 просмотра
Решения вопроса 1
@Aslero Автор вопроса
Странно, но заработало когда ключ положил в файл, но не могу понять почему так

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFdAOCAQ8AMIIBCgKCAQEAv5yse9ka3ZQE0feuGtem
Yv3IqOlLck8zHUM7lTrdza6lXTszRSXfdO7jMb+L5C7e2QNFs+7sIX2OQJ6a+HG8
kr+jwJ4tS3c1sWtd9NXpsU40PE4MeNE5RqiNXjcDxA+L4OsEm/BlyFOEOh2epGyY
Ud5/iO3OiQFRNicomT2saQYAeqIwuELPs1XpLk9HLx5qPbm8fRrQhjeUD5TLO8b+
4yCnObe8vy/BMUwBfq+ieWADIjwWCMp2KTpMGLz48qnaD9kdrYJ0iyHqzb2mkDhd
Izkim24A3lWoYitJCBrrB2xM05sm9+OdCI1f7nPNJbl5URHobSwR94IRGT7CJcUj
vwIDAQAB
-----END PUBLIC KEY-----


и потом прочитал его

const publicKey = fs.readFileSync('./rsaprivkey_public.key');
    const encryptedData = crypto.publicEncrypt(
      {
        key: Buffer.from(publicKey),
        padding: crypto.constants.RSA_PKCS1_PADDING,
      },
      Buffer.from(cardData),
    );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы