Как проверить подпись файла, используя только сертификат publi c с openssl? - PullRequest
0 голосов
/ 24 февраля 2020

Я должен проверить подпись в файле (signatureFile.txt), который был подписан с помощью закрытого ключа. У меня есть доступ только к сертификату publi c (.cer), сгенерированному из закрытого ключа, если я не ошибаюсь. Я использую Poweshell, но для упрощения я публикую его с помощью команд cmd и openssl.

Использование тезисов в качестве руководства x509 Сертификат Руководство Проверка подписи и RSA подписать и проверить с помощью Openssl: За кулисами

Используя cmd я передаю .cer файл в .pem

openssl x509  -inform DER -outform PEM -in myCert.cer -pubkey -out myCertPem.pem

После этого я получил ключ publi c от сертификата, используя следующую команду:

openssl x509 -in myCertPem.pem -noout -pubkey > myPubKey.pem

Я получил

publi c ключ

Использование этой записи Я вычеркнул алгоритм подписи из сертификата

openssl x509 -in certPEMSAT.pem -text -noout -certopt ca_default -certopt no_validity -certopt no_serial -certopt no_subject -certopt no_extensions -certopt no_signame > sign.txt.sha256

Алгоритм подписи

Наконец, просто нужно использовать следующую команду:

openssl dgst -sha256 -verify myPubKey.key -signature sign.txt.sha256 signedFile.txt

Я знаю, что мне нужно преобразовать шестнадцатеричная подпись в двоичную подпись до проверки согласно этой странице , но это где я Я застрял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...