Openssl: подписание данных и проверка подписи

Будет рассмотрен вопрос подписания файла приватным ключом, а так же проверка подписи публичным ключом с помощью openssl.

Генерация приватного ключа

openssl genrsa -out privatekey.pem 2048

Генерация публичного ключа

openssl rsa -in privatekey.pem -outform PEM -pubout -out publickey.pem

Подписание

Примеры подписания будут рассматривать на файле data.txt. Подписание данных из файла, подпись сохраняется в файл signature:

openssl dgst -sha256 -sign privatekey.pem -out signature data.txt

Проверка подписи

openssl dgst -sha256 -verify publickey.pem -signature signature data.txt

Если проверка подписи завершится успешно, то будет выведено:

Verified OK

Если проверка не удастся, будет выведено:

Verification Failure