Документація з використання OpenSSL
OpenSSL — це потужний open-source інструментарій для забезпечення захищеного зв’язку. Він надає функції для шифрування, дешифрування, підтримки протоколів SSL/TLS тощо. У стандартній поставці ServBay OpenSSL вже включений. У цьому документі докладно розглядається встановлення, налаштування та використання OpenSSL.
Встановлення та налаштування
Встановлення
OpenSSL вже інтегровано в стандартний пакет ServBay, тому додаткове встановлення не потрібне.
Налаштування
Конфігураційний файл OpenSSL зазвичай знаходиться у каталозі /Applications/ServBay/package/common/openssl/3.2
(для процесорів Intel — у /Applications/ServBay/package/common/openssl/1.1.1u
). За замовчуванням використовується файл openssl.cnf
. Ви можете редагувати цей файл для зміни налаштувань роботи OpenSSL відповідно до ваших потреб.
Приклад вмісту конфігураційного файлу:
ini
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = Назва країни (2 літери)
countryName_default = US
stateOrProvinceName = Область або штат (повна назва)
localityName = Місто або населений пункт
0.organizationName = Назва організації (наприклад, компанія)
organizationalUnitName = Назва підрозділу (наприклад, відділ)
commonName = Загальна назва (наприклад, повне доменне ім'я)
commonName_max = 64
[ req_attributes ]
challengePassword = Пароль-підтвердження
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
1
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
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
bash
openssl genpkey -algorithm RSA -out private_key.pem
1
Отримання публічного ключа з приватного
bash
openssl rsa -pubout -in private_key.pem -out public_key.pem
1
Створення запиту на підпис сертифіката (CSR)
Генерування CSR
bash
openssl req -new -key private_key.pem -out request.csr
1
Самопідписаний сертифікат
Створення самопідписаного сертифіката
bash
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1
Керування сертифікатами
Перегляд інформації про сертифікат
Перегляд інформації про CSR
bash
openssl req -text -noout -verify -in request.csr
1
Перегляд інформації про сертифікат
bash
openssl x509 -text -noout -in certificate.crt
1
Конвертація формату сертифікатів
Конвертація PEM у DER
bash
openssl x509 -outform der -in certificate.pem -out certificate.der
1
Конвертація DER у PEM
bash
openssl x509 -inform der -in certificate.der -out certificate.pem
1
Шифрування та дешифрування
Симетричне шифрування
Шифрування файлу з використанням AES
bash
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
1
Дешифрування файлу з використанням AES
bash
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
1
Асиметричне шифрування
Шифрування файлу за допомогою публічного ключа
bash
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
1
Дешифрування файлу за допомогою приватного ключа
bash
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
1
Поширені запитання
1. Команди OpenSSL не виконуються
- Рішення: Переконайтеся, що змінні середовища ServBay налаштовані коректно. Якщо проблема не вирішилась, відкрийте налаштування ServBay у розділі “Налаштування” → “Командний рядок” і окремо налаштуйте для
zsh
таbash
, після чого перезапустіть термінал.
2. Сертифікат, що створюється, не є дійсним
- Рішення: Перевірте правильність інформації у файлі запиту на сертифікат (CSR) та у файлі конфігурації. Переконайтеся, що всі обов’язкові поля заповнені.
3. Помилка під час шифрування або дешифрування
- Рішення: Переконайтеся, що використані ключі та алгоритми відповідають один одному. Перевірте правильність шляхів до вхідних та вихідних файлів.
Висновок
OpenSSL — це потужний і гнучкий інструментарій для реалізації захищеного зв’язку та різноманітних задач зі шифрування даних. Завдяки цьому документу ви дізналися, як у ServBay встановити, налаштувати та використовувати OpenSSL для керування сертифікатами та шифрування даних.