Документация по использованию OpenSSL
OpenSSL — это мощный набор инструментов с открытым исходным кодом, предназначенный для реализации безопасной связи. Он предоставляет функции шифрования, дешифрования, а также поддержки протоколов SSL/TLS. OpenSSL уже включен в поставку ServBay, и в этой статье подробно описаны методы установки, настройки и использования OpenSSL.
Содержание
Установка и настройка
Установка
OpenSSL уже включен в поставку ServBay, дополнительная установка не требуется.
Настройка
Конфигурационный файл OpenSSL обычно находится в директории /Applications/ServBay/package/common/openssl/3.2
(для чипов Intel — в /Applications/ServBay/package/common/openssl/1.1.1u
), а файл конфигурации по умолчанию называется openssl.cnf
. Вы можете изменить конфигурационный файл в соответствии с вашими потребностями для настройки поведения OpenSSL.
Пример содержимого конфигурационного файла:
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, fully qualified host name)
commonName_max = 64
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Основное использование
OpenSSL предоставляет множество командных инструментов для выполнения различных задач по шифрованию и управлению сертификатами. Ниже приведены некоторые основные примеры использования:
Генерация приватного и публичного ключей
Генерация RSA приватного ключа
openssl genpkey -algorithm RSA -out private_key.pem
Генерация публичного ключа из приватного
openssl rsa -pubout -in private_key.pem -out public_key.pem
Генерация запроса на подпись сертификата (CSR)
Генерация CSR
openssl req -new -key private_key.pem -out request.csr
Самоподписанный сертификат
Генерация самоподписанного сертификата
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
Управление сертификатами
Просмотр информации о сертификате
Просмотр информации о CSR
openssl req -text -noout -verify -in request.csr
Просмотр информации о сертификате
openssl x509 -text -noout -in certificate.crt
Преобразование формата сертификата
Конвертация PEM в DER
openssl x509 -outform der -in certificate.pem -out certificate.der
Конвертация DER в PEM
openssl x509 -inform der -in certificate.der -out certificate.pem
Шифрование и дешифрование
Симметричное шифрование
Шифрование файла с использованием AES
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
Дешифрование файла с использованием AES
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
Асимметричное шифрование
Шифрование файла с использованием публичного ключа
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
Дешифрование файла с использованием приватного ключа
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
Часто задаваемые вопросы
1. Команда OpenSSL не выполняется
- Решение: Проверьте, правильно ли установлен OpenSSL, и убедитесь, что путь к конфигурационному файлу указан верно. Если проблема сохраняется, проверьте журналы ошибок для получения дополнительной информации.
2. Сгенерированный сертификат недействителен
- Решение: Проверьте, правильно ли заполнены информация в файле запроса на подпись сертификата (CSR) и конфигурационном файле. Убедитесь, что все обязательные поля заполнены.
3. Ошибка шифрования или дешифрования
- Решение: Убедитесь, что используемые ключи и алгоритмы соответствуют друг другу. Проверьте правильность путей к входным и выходным файлам.
Заключение
OpenSSL — это мощный и гибкий набор инструментов, подходящий для различных задач по обеспечению безопасности связи и шифрованию данных. В этой статье вы узнали, как установить, настроить и использовать OpenSSL в ServBay для управления сертификатами и шифрования данных.