Генерация, подписание и проверка цифровых сертификатов

Итак, вот вопрос из моего проекта.

In this task, we will use OpenSSL to generate digital signatures. Please prepare a file (example.txt) of any size. Also prepare an RSA public/private key pair. Then do the following:

1.  Sign the SHA256 hash of example.txt; save the output in example.sha256.
2.  Verify the digital signature in example.sha256.
3.  Slightly modify example.txt, and verify the digital signature again.

Please describe how you performed the above three operations (e.g., the exact commands that you used, etc.). Describe what you observed and explain your observations. Please also explain why digital signatures are useful in general.

Итак, я делаю следующее.

1.Создать пару секретный / открытый ключ

openssl genrsa -out private.pem 1024

2. Извлечение открытого ключа.

openssl rsa -in private.pem -out public.pem -outform PEM -pubout

3. Создайте хеш данных.

echo 'data to sign' > example.txt

openssl dgst -sha256 < example.txt > hash

4. Подпишите хеш с помощью Закрытого ключа в файл с именем example.sha256.

openssl rsautl -sign -inkey private.pem -keyform PEM -in hash  > example.sha256

5. Проверьте файл (example.txt) и цифровую подпись (example.sha256)

openssl dgst -sha256 -verify public.pem -signature example.sha256 example.txt

После всего этого я получаю сообщение об ошибке "Ошибка проверки"

Пожалуйста, поправьте меня, если я где-то ошибся.

1 ответ

Генерация пары секретный / открытый ключ.
1. openssl genrsa -out private.pem 1024
2. openssl rsa -in private.pem -out public.pem -outform PEM -pubout


Знак.
openssl dgst -sha256 -подписать private.pem -out SLA.txt.sha256 SLA.txt 

проверить
openssl dgst -sha256 - проверить public.pem - подпись SLA.txt.sha256 SLA.txt
Другие вопросы по тегам