Центр регистрации Aladdin eCA реализует серверный компонент по протоколу SCEP[1] (далее SCEP‑сервер Центра регистрации Aladdin eRA). SCEP‑сервер Центра регистрации Aladdin eRA поддерживает возможность подключения к нему клиентов по протоколам HTTP и HTTPS.

Доступ клиентов к SCEP‑серверу Центра регистрации Aladdin eRA осуществляется в контексте SCEP‑профилей Центров сертификации подключенного Центра сертификации Aladdin eCA (см. раздел 7.7.2). Чтобы Центр сертификации подключенного Центра сертификации Aladdin eCA, мог быть использован в качестве издателя сертификатов по протоколу SCEP, необходимо для него создать SCEP‑профиль.

При создании SCEP‑профиля Центра регистрации Aladdin eRA выполняет следующие действия:

  • автоматически генерирует и назначает создаваемому профилю идентификатор в формате UUID;
  • выпускает на Центре сертификации сертификат с закрытым ключом (PKCS#12) по шаблону «SCEP Management» (технологический сертификат SCEP‑профиля), при этом:
    • сертификат не привязан к какому‑либо субъекту;
    • имеет в поле «CN» значение «Технологический сертификат SCEP‑профиля ID={profileId}», где profileId – идентификатор созданного SCEP‑профиля;
    • алгоритм и длина ключа у сертификата соответствуют алгоритму и длине ключа Центра сертификации, на котором осуществляется выпуск;
    • пароль от создаваемого контейнера автоматически формирует Центр регистрации Aladdin eRA и записывает его в свою базу данных в зашифрованном виде.
  • экспортирует созданный контейнер закрытого ключа и сохранять его в своей базе данных.

В дальнейшем технологический сертификат SCEP‑профиля используется в обработке запросов по протоколу SCEP (cм. раздел 8.2).

[1] Протокол SCEP описан в RFC8894, см.: https://datatracker.ietf.org/doc/html/rfc8894

Настройка SCEP сервера

Для настройки SCEP‑сервера Центра регистрации Aladdin eRA выполните следующие шаги:

  • В разделе «Управление» на вкладке «SCEP» создайте SCEP‑политики (см. раздел 7.7.2.1). SCEP‑политика представляет собой совокупность «ChallengePassword + Шаблон» и служит для управления шаблонами, которые используются в рамках реализации сценария выпуска сертификата по протоколу SCEP;
  • В разделе «Управление» на вкладке «SCEP» создайте новый SCEP‑профиль (см. раздел 7.7.2.6). При его создании задайте Центр сертификации подключенного Центра сертификации Aladdin eCA и алгоритм шифрования ответов SCEP‑сервера.

После этого будет доступен соответствующий SCEP‑сервер, доступный по адресу «PROTOCOL://HOSTNAME/sсep‑service/profiles/{profileId}/engine» (про получение URL SCEP‑сервера Центра регистрации Aladdin eRA см. раздел 7.7.2.7), где:

    • «PROTOCOL» – протокол, по которому осуществляется подключение («http» или «https»);
    • «HOSTNAME» – адрес хоста Центра регистрации Aladdin eRA;
    • «profileId» – идентификатор существующего SCEP‑профиля.
  • Далее URL созданного SCEP‑профиля следует использовать при добавлении конфигурации SCEP‑сервера. Получить URL можно с помощью функции копирования URL адреса SCEP‑профиля – см. раздел 7.7.2.7. Пример команды certmonger[1] для добавления SCEP‑сервера[2]:
getcert add‑scep‑ca ‑c CA_Name ‑u SCEP_URL

Для проверки следует использовать команду:

sudo getcert list‑cas ‑c Name

[1] Certmonger — это служба, которая управляет сертификатами и их жизненным циклом в системах Linux.

[2] Для выполнения команд ниже необходимо, чтобы был установлен пакет certmonger.

Обработку запросов по протоколу SCEP

Центр регистрации Aladdin eRA реализовывает обработку следующих запросов клиента по протоколу SCEP[1]:

  • PKCSReq;
  • CertPoll;
  • RenewalReq;
  • GetCert;
  • GetCRL;
  • GetCACert;
  • GetCACaps.

[1] Запрос «GetNextCACert» на данный момент не поддерживается SCEP-сервером Центра регистрации Aladdin eRA.

Обработка запроса клиента PKCSReq/RenewalReq

Центр регистрации Aladdin eRA по серийному номеру сертификата клиента (присутствует в составе сообщения формата PKCS#7) и идентификатору Центра сертификации (определяется автоматически на основании связи используемого клиентом SCEP‑профиля и Центра сертификации) осуществляет поиск заявки на данный сертификат клиента в своей базе данных среди выполненных заявок (заявка должна иметь статус «Выполнена»). Далее в зависимости от результатов поиска заявки выполняется один из следующих сценариев:

  • Если выполненная заявка на данный сертификат клиента найдена, Центр регистрации Aladdin eRA создаёт новую заявку на основании запроса на сертификат из состава расшифрованного сообщения. Заявка создаётся для субъекта и по шаблону, указанному в найденной заявке. Выпуск сертификата по созданной заявке осуществляется на Центре сертификации Aladdin eСA, ассоциированном с используемым пользователем SCEP‑профилем.
    • Если по созданной заявке успешно выпущен сертификат, Центр регистрации Aladdin eRA в ответном сообщении возвращает клиенту выпущенный сертификат (SUCCES).
    • Если созданная заявка ожидает подтверждения или по ней произошла ошибка выпуска, Центр регистрации Aladdin eRA возвращает клиенту сообщение о том, что заявка находится в обработке (PENDING).
    • Если заявка не была создана или созданная заявка отклонена, Центр регистрации Aladdin eRA возвращает клиенту сообщение об отклонении запроса (FAILURE).
  • Если выполненная заявка на данный сертификат клиента не найдена, Центр регистрации Aladdin eRA создаёт новую заявку на основании запроса на сертификат из состава расшифрованного сообщения. Шаблон, который используется при создании заявки, определяется на основании SCEP‑политик по значению ChallengePassword, указанному в запросе на сертификат. Выпуск сертификата по созданной заявке осуществляется на Центре сертификации, ассоциированном с используемым пользователем SCEP‑профилем.
  • Если в запросе на сертификат не указан ChallengePassword, и среди SCEP‑политик отсутствует политика на «пустой» ChallengePassword, Центр регистрации Aladdin eRA возвращает клиенту сообщение об отклонении запроса (FAILURE).
  • Если по созданной заявке успешно выпущен сертификат, Центр регистрации Aladdin eRA в ответном сообщении возвращает клиенту выпущенный сертификат (SUCCES).
  • Если созданная заявка ожидает подтверждения или по ней произошла ошибка выпуска, Центр регистрации Aladdin eRA возвращает клиенту сообщение о том, что заявка находится в обработке (PENDING).
  • Если заявка не была создана или созданная заявка отклонена, Центр регистрации Aladdin eRA возвращает клиенту сообщение об отклонении запроса (FAILURE).

Центр регистрации Aladdin eRA записывает в свою базу данных «TransactionId» для каждой заявки, созданной в ходе обработки запросов «PKCSReq/RenewalReq».

Обработка запроса клиента CertPoll

Центр регистрации Aladdin eRA осуществляет поиск в свой базе данных заявки, у которой «TransactionId» соответствует указанному в сообщении, и определять ее статус.

  • Если по найденной заявке успешно выпущен сертификат, Центр регистрации Aladdin eRA в ответном сообщении возвращает клиенту выпущенный сертификат по данной заявке (SUCCES).
  • Если данная заявка ожидает подтверждения или по ней произошла ошибка выпуска, Центр регистрации Aladdin eRA возвращает клиенту сообщение о том, что заявка находится в обработке (PENDING).
  • Если данная заявка отклонена или не была найдена, Центр регистрации Aladdin eRA должен возвращать клиенту сообщение об ошибке (FAILURE).

Обработка запроса клиента GetCert

Центр регистрации Aladdin eRA осуществляет поиск в свой базе данных заявки, по которой выпущенный сертификат имеет серийный номер, соответствующий указанному в сообщении серийному номеру. Поиск осуществляется только среди заявок, сертификат по которым выпущен Центром сертификации Aladdin eCA, SCEP‑профиль которого используется клиентом.

Если такая заявка найдена, Центр регистрации Aladdin eRA в ответном сообщении возвращает клиенту выпущенный по данной заявке сертификат (SUCCES), иначе – сообщение об ошибке (FAILURE).

Обработка запроса клиента GetCRL

Центр регистрации Aladdin eRA в ответном сообщении возвращает CRL Центра сертификации Aladdin eCA, SCEP‑профиль которого используется клиентом.

Обработка запроса клиента GetCACert

Центр регистрации Aladdin eRA в ответном сообщении возвращает цепочку сертификатов технологического сертификата SCEP‑профиля, используемого клиентом.

Обработка запроса клиента GetCACaps

Центр регистрации Aladdin eRA возвращает клиенту сообщение формата «CA Capabilities Response» в соответствии с RFC8894, перечисляющее следующие возможности SCEP‑сервера, реализуемого Центра регистрации Aladdin eRA:

  • AES;
  • DES3;
  • POSTPKIOperation;
  • Renewal;
  • SHA‑1;
  • SHA‑256;
  • SHA‑512;