Форум программистов, компьютерный форум, киберфорум
Наши страницы
Loafer
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Шпаргалка по openssl

Запись от Loafer размещена 21.03.2019 в 14:38

OpenSSL - это инструмент, который позволяет проводить большинство криптографических операций, в числе которых шифрование, цифровая подпись, генерация сертификатов и т. д. Данный инструмент имеет непосредственно саму утилиту openssl и API, которое представлено в библиотеках libcrypto, которая содержит реализации общих криптографических операций, и libssl, которая содержит реализацию протоколов SSL/TLS.

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

Генерация связки приватный/публичный RSA ключ:
Bash
1
openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:1024 -pkeyopt rsa_keygen_pubexp:65537 -out ./rsa_private_key.pem
Получение публичного ключа из связки приватный/публичный ключ:
Bash
1
openssl pkey -in ./rsa_private_key.pem -pubout -out ./rsa_public_key.pem
Шифрование сообщения:
Bash
1
2
3
touch message.txt
echo Hello World! > ./message.txt
openssl pkeyutl -encrypt -in ./message.txt -inkey ./rsa_public_key.pem -pubin -out ./encrypted_text.bin
Расшифровка сообщения:
Bash
1
2
openssl pkeyutl -decrypt -in ./encrypted_text.bin -inkey ./rsa_private_key.pem -out ./decrypted_text.txt
cat ./decrypted_text.txt
Создание цифровой подписи:
Bash
1
openssl dgst -sha256 -sign ./rsa_private_key.pem -out ./signature.bin ./message.txt
Проверка подлинности цифровой подписи:
Bash
1
openssl dgst -sha256 -verify ./rsa_public_key.pem -signature ./signature.bin ./message.txt
Создание цифровой подписи без применения хеш-функции. Хотя не знаю, можно ли назвать это цифровой подписью, но, как я это понял,
openssl позволяет это сделать. Скорее, я бы назвал это просто шифрованием сообщения приватным ключем:
Bash
1
openssl pkeyutl -sign -inkey ./rsa_private_key.pem -in ./message.txt -out ./rsa_signature.bin
Проверка подлинности "цифровой подписи" без применения хеш-функции:
Bash
1
openssl pkeyutl -verify -inkey ./rsa_public_key.pem -pubin -sigfile ./rsa_signature.bin -in ./message.txt
Создание корневого сертификата, промежуточного сертификата и контейнера PKCS #12:
Bash
1
2
3
4
5
openssl req -new -x509 -days 3650 -key ./rsa_private_key.pem -out ./ca.crt
openssl genpkey -algorithm rsa -out ./ia_private_key.pem 1024
openssl req -new -key ./ia_private_key.pem -out ./ia.csr
openssl x509 -req -days 3650 -in ./ia.csr -CA ./ca.crt -CAkey ./rsa_private_key.pem -set_serial 01 -out ./ia.crt
openssl pkcs12 -export -out ./ia.p12 -inkey ./ia_private_key.pem -in ./ia.crt -chain -CAfile ./ca.crt
Размещено в Без категории
Просмотров 127 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru