openssl pkeyutl Проверка подписи RSA работает с -verifyrecover, но не с -verify

Я использовал токен PKCS#11, чтобы подписать какой-то файл test.dat с дополнением PKCS # 1 и SHA256 в качестве алгоритма дайджеста (механизм SHA256-RSA-PKCS).

Я экспортировал открытый ключ и хочу проверить подпись с помощью openssl:

$ openssl pkeyutl -inkey pubkey.der -pubin -keyform der -verify -sigfile test.dat.sig -pkeyopt rsa_padding_mode:pkcs1 -pkeyopt digest:SHA256 -in test.dat
Signature Verification Failure

Странная вещь, если я использую переключатель командной строки -verifyrecover вместо -verifyпроверка правильна:

$ openssl pkeyutl -pubin -inkey pubkey.der -keyform der -verifyrecover -in test.dat.sig -pkeyopt rsa_padding_mode:pkcs1 -pkeyopt digest:SHA256|xxd                                                                                 
00000000: b5bb 9d80 14a0 f9b1 d61e 21e7 96d7 8dcc  ..........!.....
00000010: df13 52f2 3cd3 2812 f485 0b87 8ae4 944c  ..R.<.(........L
$ sha256sum test.dat                                                                                                                                                                                                               
b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c  test.dat

Почему первая команда выдает ошибку?

0 ответов

Другие вопросы по тегам