другая подпись с одинаковым вводом openssl - PullRequest
1 голос
/ 12 февраля 2020

Я использую Openssl (OpenSSL 1.0.2s 28 May 2019) и хочу подписать сообщение.

$ echo foo > a.txt
$ openssl dgst -sha256 -hex -sign chiave_priv_1.pem a.txt
EC-SHA256(a.txt)= 3045022100c7d6e61942d3104838b70cda870fb53870c36aa7075be518e9d0d098370d989802202dddd3e0fbba70be84d4540e20c43116cf0db1cee69b2ed422c9403cdac8bd54

$ openssl dgst -sha256 -hex -sign chiave_priv_1.pem a.txt
EC-SHA256(a.txt)= 3046022100fa1df4a9d3f07b0105e5923ef9c7a6f52dc5fa3b60beda7d1ed8a5eec805d3f402210097941741cdaa06ff650e48912eb05d37bc74aab8cf24951a543c88a357bb7f30

Я дважды повторяю подпись и получаю два разных вывода

1 Ответ

2 голосов
/ 12 февраля 2020

Если вы используете ключ DSA или ключ E CC, то подпись рандомизируется. Насколько я знаю, это сделано специально.

Если вы используете ключ RSA, то это зависит от вашего типа заполнения. Заполнение по умолчанию pkcs и должно генерировать сигнатуру c. Если вы измените тип заполнения (например, -sigopt rsa_padding_mode: pss), вы также получите случайные результаты.

...