Команда openssl для шифрования / дешифрования с закрытым ключом prime256v1?

Я хочу зашифровать простое сообщение с помощью закрытого ключа EC, в частности, prime256v1 от CMD; и расшифровать с помощью соответствующего открытого ключа EC.

Я нашел только ссылки на RSA в случае асимметричной криптографии или шифрования с открытым ключом ec, но мне нужно использовать алгоритм ECDSA и шифрование с помощью закрытого ключа.

1 ответ

Решение

Создайте самоподписанный сертификат P-256 и связанный с ним закрытый ключ следующим образом:

openssl ecparam -name prime256v1 -out p256-params.pem

openssl req -x509 -nodes -days 3650 -newkey  ec:p256-params.pem -keyout p256-key.pem -out p256-cert.pem

Зашифруйте файл следующим образом:

openssl cms -encrypt -binary -aes-256-cbc -in plaintext.dat -out ciphertext.dat p256-cert.pem

Расшифруйте файл так:

openssl cms -decrypt -in ciphertext.dat -out plaintext2.dat -inkey p256-key.pem

Подпишите файл так:

openssl cms -sign -binary -in plaintext.dat -out signedtext.dat -inkey p256-key.pem -signer p256-cert.pem -nodetach

Проверьте подписанный файл следующим образом:

openssl cms -verify -in signedtext.dat -out plaintext2.dat -CAfile p256-cert.pem
Другие вопросы по тегам