19 августа 2024 Nginx
# сохранить публичный сертификат сайта
openssl s_client -connect breys.ru:443 -showcerts | openssl x509 -pubkey -noout > pubkey.pem
# зашифровать файл msg.txt
openssl pkeyutl -in msg.txt -out msg.enc -pubin -inkey pubkey.pem -encrypt
# преобразовать бинарный формат зашифрованного файла в текстовый (пункт 3)
openssl base64 -in msg.enc -out msg.enc.asc
# преобразовать текстовый формат зашифрованного файла в бинарный (пункт 4)
openssl base64 -d -in msg.enc.asc -out msg.enc
# расшифровать зашифрованный файл msg.enc с помощью закрытого ключа домена
openssl pkeyutl -in msg.enc -out msg.txt -inkey privkey.pem -decrypt
# зашифровать файл, упаковать в текстовый формат, отправить через сеть и расшифровать одной командой
openssl pkeyutl -in msg.txt -pubin -inkey pubkey.pem -encrypt |openssl base64 | ssh-balancer1 'cat |openssl base64 -d| openssl pkeyutl -inkey /etc/letsencrypt/live/www.breys.ru/privkey.pem -decrypt'
Так же можно шифровать и расшировывать с помощью паролей
# зашфировать файл /etc/passwd
openssl enc -in /etc/passwd -e -salt -aes-256-cbc -md sha256
# расшифровать
openssl enc -d -aes-256-cbc -md sha256 расшифровать с паролем