Документация по использованию OpenSSL
OpenSSL — это мощный open source пакет, предназначенный для обеспечения защищённой передачи данных. Он поддерживает шифрование, дешифрование, протоколы SSL/TLS и многое другое. В состав дистрибутива ServBay уже входит OpenSSL, и в этой статье подробно рассматриваются его установка, настройка и использование.
Установка и настройка
Установка
В ServBay OpenSSL установлен по умолчанию, дополнительная установка не требуется.
Настройка
Файл конфигурации 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 не работают
- Решение: Убедитесь, что переменные среды для ServBay настроены корректно. Если проблема сохраняется, откройте раздел «Настройки» > «Командные утилиты» в ServBay, выполните настройки отдельно для
zsh
иbash
, затем перезапустите терминал.
2. Сертификат недействителен
- Решение: Проверьте правильность заполнения CSR и данных в конфигурационном файле. Убедитесь, что все обязательные поля заполнены.
3. Ошибка при шифровании или дешифровании
- Решение: Убедитесь, что выбранные ключи и алгоритмы соответствуют друг другу. Также проверьте корректность указанных путей к входным и выходным файлам.
Заключение
OpenSSL — это мощный и гибкий инструмент, который подходит для широкого спектра задач, связанных с шифрованием и обеспечением безопасности данных. После изучения этого материала вы сможете правильно установить, настроить и применять OpenSSL в ServBay для управления сертификатами и защиты информации.