Команда 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