[an error occurred while processing this directive]

Использование HTTPS-сертификатов для шифрования и подписи произвольных данных
Созданные для HTTPS сертификаты вполне можно использовать для формирования
цифровых подписей к произвольным данным, а также для шифрования по открытым ключам.

Создание подписи.

Имеем следующие файлы с сертификатами от Let's Encrypt:

   /etc/letsencrypt/live/site.com# ls -la
   ...
   lrwxrwxrwx  1 root root   42 May  22 8:11 cert.pem -> ../../archive/site.com-0001/cert43.pem
   lrwxrwxrwx  1 root root   43 May  22 8:11 chain.pem -> ../../archive/site.com-0001/chain43.pem
   lrwxrwxrwx  1 root root   47 May  22 8:11 fullchain.pem -> ../../archive/site.com-0001/fullchain43.pem
   lrwxrwxrwx  1 root root   45 May  22 8:11 privkey.pem -> ../../archive/site.com-0001/privkey43.pem
   ...

Для заверения цифровой подписью файла msg.txt можно использовать закрытый ключ
из файла privkey.pem:

   openssl dgst -sha256 -sign privkey.pem -out msg.txt.sig msg.txt

После чего полученную подпись можно преобразовать в текстовое представление в кодировке Base64:

   openssl base64 -in msg.txt.sig -out msg.txt.sig.asc


Далее можно опубликовать файлы msg.txt и msg.txt.sig.asc, а сторонние
пользователи могут воспользоваться открытым ключом от домена site.com для
верификации неизменности содержимого msg.txt:

Загружаем открытый ключ сайта site.com  в файл pubkey.pem:

   openssl s_client -connect site.com:443 -showcerts | openssl x509 -pubkey -noout > pubkey.pem

Преобразуем цифровую подпись в бинарный формат и верифицируем открытым ключом:

   openssl base64 -d -in msg.txt.sig.asc -out msg.txt.sig
   openssl dgst -keyform pem -verify pubkey.pem -signature msg.txt.sig msg.txt

   Verified OK



Шифрование

Сторонний пользователь может воспользоваться открытым ключом от домена site.com
для шифрования данных, которые следует передать владельцу домена site.com,
имеющему доступ к закрытому ключу.

   openssl pkeyutl -in msg.txt -out msg.enc -pubin -inkey pubkey.pem -encrypt

Преобразуем зашифрованный бинарный файл в текстовое представление для передачи
по электронной почте или через мессенджер:

   openssl base64 -in msg.enc -out msg.enc.asc


Владелец закрытого ключа может расшифровать сообщение используя команды:

   openssl base64 -d -in msg.enc.asc -out msg.enc
   openssl pkeyutl -in msg.enc -out msg.txt -inkey privkey.pem -decrypt
 
22.05.2024 , Автор: Dennis Yurichev , Источник: https://yurichev.com/n/HTTPS_certs/...
Ключи: https, cert, crypt, sign, openssl
Раздел:    Корень / Безопасность / Шифрование, PGP

[an error occurred while processing this directive]

[an error occurred while processing this directive]