Создание сертификата
Обновлено: 25.10.2024
Для работы приложения потребуются сертификаты. Для продуктивной среды сертификаты выпускаются корпоративным центром сертификации или каким-либо сервисом, например Let's encrypt.
Для целей тестирования можно использовать самозаверенный сертификат. В зависимости от развертывания сертификат потребуется в формате pfx (для подписывания токенов аутентификации), а также pem (для TLS шифрования).
Пример создания сертификата с помощью OpenSSL.
Создайте файл cert.cnf.
В разделе [alt_names] укажите доменные имена и/или IP адреса, по которым будет организован доступ к сервисам приложения.
[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = XX
stateOrProvinceName = N/A
localityName = N/A
organizationName = Timetta
commonName = Timetta: Self-signed certificate
[req_ext]
subjectAltName = @alt_names
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = timetta.my-domain.com
IP.1 = 200.178.12.78
[v3_ca]
subjectAltName = @alt_names
basicConstraints = critical, CA:false
keyUsage = keyCertSign, cRLSign, digitalSignature,keyEncipherment
Генерация открытого, закрытого ключей и сертификата в формате pfx:
openssl.exe req -x509 -nodes -days 730 -newkey rsa:2048 -keyout key.pem -out cert.crt -config cert.cnf
openssl.exe pkcs12 -inkey key.pem -in cert.crt -export -out cert.pfx
На выходе три файла:
- key.pem — закрытый ключ.
- cert.crt — сертификат.
- cert.pfx — в формате PFX.
Поскольку сертификат самозаверенный ОС по умолчанию ему не доверяет. Для добавления сертификата в доверенные корневые центры выполните команду:
Создайте папку /usr/local/share/ca-certificates
если её еще нет:
mkdir /usr/local/share/ca-certificates/
Скопируйте сертификат cert.crt в папку:
cp <full_path_to_the_certificate> /usr/local/share/ca-certificates/
Обновите сертификаты:
sudo update-ca-certificates
- Откройте cert.crt из проводника Windows. Нажмите «Установить сертификат» (Install Certificate). Запустится мастер импорта.
- Тип хранилища (Store Location) — Текущий пользователь (Current User).
- При запросе хранилища сертификата (Certificate Store) выберите Доверенные корневые центры сертификации (Trusted Root Certification Authorities store).
- Завершите установку.