Привет, ЛОР!
Подписываю файл стандартным способом: Создаю ключи:
openssl genrsa -F4 -out priv_key.key 2048
openssl req -batch -new -x509 -key priv_key.key -out cert.crt
openssl x509 -in cert.crt -pubkey -noout > pub_key.pub
Создаю подпись файла:
openssl dgst -sha256 -sign priv_key.key -out file1.sha256 file1
Проверяю файл:
openssl dgst -sha256 -verify pub_key.pub -signature file1.sha256 file1
Но вот что раздражает: файла всегда два(файл и его подпись), следовательно, при замене файлов теряется «атомарность» операции. Хочется, чтобы подпись была приклеена к файлу.
Можно приклеить через cat, но тогда при проверке приходится все равно расклеивать один файл в два. Есть ли встроенные механизмы для подобного в openssl или какие-то другие пути создания/проверки подписи?