Выпустите сертификат агента регистрации для сервисной учетной записи.
Создать учетную запись можно через УЦ или REST API.
УЦ
- Подготовьте хранилище для закрытых ключей и сертификатов на сервере Dogtag CA.
pki client-init
- Сгенерируйте ключевую пару и отправьте запрос на сертификат.В результате создается запрос со статусом
pki client-cert-request uid=<имя пользователя>
pending. Сохраните значениеrequestIDиз вывода команды. - Одобрите запрос на сертификат от имени администратора Dogtag CA.Сохраните значение
pki -u <имя администратора> -w <пароль администратора> ca-cert-request-approve <requestID>
certIDиз вывода команды. - От имени администратора Dogtag CA назначьте полученный сертификат на сервисную учетную запись.
pki -u <имя администратора> -w <пароль администратора> ca-user-cert-add <имя пользователя> --serial <certID>
- Импортируйте сертификат в локальное хранилище.
pki client-cert-import <имя пользователя> --serial <certID>
- Экспортируйте сертификат вместе с закрытым ключом в формат PKCS #12.
pki -u <имя администратора> -w <пароль администратора> pkcs12-export --pkcs12-file <путь к файлу P12> --pkcs12-password <пароль от файла P12> "<имя пользователя>"
Скопируйте полученный файл с расширением P12 на сервер Indeed CM для последующей установки в хранилище сертификатов.
REST API
Требования к сертификату
- Поле Субъект (Subject) сертификата содержит атрибут
uidс именем сервисной учетной записи для работы с Рутокен KeyBox. - Поле Улучшенный ключ (Extended Key Usage) сертификата содержит значение «Проверка подлинности клиента» (Client Authentication, 1.3.6.1.5.5.7.3.2).
Выпуск сертификата
- Создайте файл конфигурации
openssl.conf.nano openssl.conf
Укажите следующие параметры для генерации запроса на сертификат (CSR):
CN— имя пользователя;email.1— электронная почта пользователя;otherName.1— UPN-имя пользователя;default_bits— длина ключа шифрования (по умолчанию 2048).
- Сгенерируйте закрытый ключ и запрос на сертификат (CSR) с помощью утилиты openssl.
openssl req -new -nodes -out csr.pem -newkey rsa:2048 -keyout key.pem -config openssl.conf
Выполните вход в Dogtag CA. Для аутентификации используйте сертификат администратора, который находится на сервере Dogtag CA по пути
/root/ca-agent.p12.GET /ca/v2/account/login
Отправьте запрос на выпуск сертификата:
- В поле
cert_requestпередайте содержимое запроса на сертификат (CSR), полученное на шаге 2. - В поле
sn_uidукажите имя сервисной учетной записи.POST /ca/v2/certrequests
Скопируйте значение поляrequestIDиз ответа.
- В поле
- Получите данные запроса на сертификат. Подставьте значение поля
requestID, полученное на шаге 4.Скопируйте ответ, чтобы одобрить запрос на следующем шаге.GET /ca/v2/agent/certrequests/<requestID>
- Одобрите запрос на сертификат. Подставьте значение поля
requestID, полученное на шаге 4, и передайте полный ответ, полученный на предыдущем шаге.POST /ca/v2/agent/certrequests/<requestID>/approve
- Получите идентификатор выпущенного сертификата.Скопируйте значение поля
GET /ca/v2/certrequests/<requestID>
certIDиз ответа. - Получите сертификат в формате Base64.Скопируйте значение поля
GET /ca/v2/agent/certs/<certID>
Encodedиз ответа. - Назначьте сертификат на сервисную учетную запись для работы с Рутокен KeyBox. В поле
Encodedпередайте строку сертификата, полученную на предыдущем шаге.POST /ca/v2/admin/users/<имя пользователя>/certs
{ "Encoded": "-----BEGIN CERTIFICATE-----\n<содержимое сертификата в Base64>\r\n-----END CERTIFICATE-----\n" } - Сохраните сертификат, полученный на шаге 8, в файл
cert.pem. Убедитесь, что сертификат содержит корректные данные.openssl x509 -in cert.pem -noout -text
- Объедините сертификат и закрытый ключ в файл PFX. Скопируйте файл на сервер Indeed CM для установки в хранилище сертификатов.
openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem