Avanpost CA : 3.2 Выпуск сертификатов

Выпуск сертификатов

Создание запроса (openssl) и выпуск сертификата из запроса

Создать запрос на сертификат по шаблону User используя openssl

1. Cоздайте файл конфигурации openssl.cnf
[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions     = v3_req
prompt             = no
utf8               = yes

[ req_distinguished_name ]
CN  = Test User
O   = MyOrganization
OU  = MyOrganization Unit
emailAddress = testuser@example.com

[ v3_req ]
# Key Usage
keyUsage = critical, digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement

# Extended Key Usage
extendedKeyUsage = clientAuth

# Certificate Template Name (OID 1.3.6.1.4.1.311.20.2)
# Our case - User
1.3.6.1.4.1.311.20.2 = ASN1:UTF8String:User
2. Создайте ключ RSA и запрос на сертификат (CSR)
#!/usr/bin/env bash
set -euo pipefail

KEY="testuser.key.pem"
CSR="testuser.p10.pem"
CONF="openssl.cnf"

# Генерация ключа (без пароля)
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out "$KEY"

# Генерация CSR с расширениями
openssl req -new -key "$KEY" -out "$CSR" -config "$CONF" -extensions v3_req

# Проверка
openssl req -in "$CSR" -noout -text

Примечание:

  • req_extensions = v3_req — указывает, что блок [ v3_req ] нужно вставить в CSR.

  • keyUsage и extendedKeyUsage можно задавать через известные ключевые слова (digitalSignature, keyEncipherment, clientAuth, serverAuth, emailProtection и т. д.).

  • Любые нестандартные поля (OID) задаются в виде OID = ASN1:тип:значение. Для имени шаблона MS используйте ASN1:UTF8String:ИмяШаблона.

Итоговый CSR будет содержать:

  • Key Usage: Digital Signature, Non Repudiation (ContentCommitment), Key Encipherment, Data Encipherment, Key Agreement

  • Extended Key Usage: clientAuth

  • OID 1.3.6.1.4.1.311.20.2: "User"

Выпустить сертификат на CA

Раздел Сертификаты - Создать ( + ) - загрузите запрос на сертификат CSR, файл testuser.p10.pem

Проверка должна пройти успешно, шаблон определен User

Выпустите сертификат и скачайте его в формате .pem / .cer

Итого, получено 3 файла:

  • файл с закрытым ключем
  • запрос на сертификат
  • выпущенный сертификат (скачан из интерфейса CA)

Создание и выпуск сертификата из интерфейса CA

Создать запрос на сертификат из раздела Запросы ( + ) и заполнить форму и выпустите сертификат

Запомните указанный пароль, на нем будет зашифрован закрытый ключ! Без пароля доступ к закрытому ключу будет утерян!

Скачайте контейнер .pfx с выпущенным сертификатом

Введите пароль, указанный ранее при создании запроса

Полученный контейнер .pfx содержит выпущенный сертификат, закрытый ключ и сертификат CA

Обсуждение