- Внимание!
- Документация
- Значение «без личного присутствия с использованием квалифицированной эп»
- Значение «без личного присутствия с использованием персональных данных, записанных на электронный носитель из заграничного паспорта»
- Значение «без личного присутствия с использованием сведений из есиа и ебс»
- Значение «при личном присутствии»
- Настройка сервиса подписи
- Обработка ответа сервиса подписи
- Получение политики сервиса подписи
- Примеры запросов
- Примечание
- Создание запроса на сертификат с подтверждением при помощи вторичной аутентификации (v1 api)
- Установка сертификата
Внимание!
Символ “.” в конце получившегося значения является обязательным.
Документация
Сертификат электронной подписи — это электронный документ или документ на бумажном носителе, выданные удостоверяющим центром либо доверенным лицом удостоверяющего центра и подтверждающие принадлежность ключа проверки электронной подписи владельцу сертификата ключа проверки электронной подписи (63-ФЗ “Об электронной подписи”).
Чтобы получить сертификат подписи из Удостоверяющего центра (УЦ), нужно создать запрос на сертификат в КриптоАРМ ГОСТ и отправить его в Удостоверяющий центр. Запрос можно отправить самостоятельно или автоматически, в КриптоАРМ ГОСТ, если Удостоверяющий центр использует ПАК “КриптоПро УЦ 2.0”.
Чтобы создать запрос на сертификат и отправить его самостоятельно:
Откройте вкладку “Сертификаты” и нажмите “ ”.
В появившемся меню нажмите “Создать запрос”.
На вкладке “Сведения о владельце сертификата” введите личные данные.
Нажмите “Готово”. Выберите носитель для создания контейнера с запросом на сертификат.
Установите пароль для контейнера с запросом на сертификат и нажмите “ОК”.
Созданный запрос появится во вкладке “Сертификаты” — “Запросы”.
Чтобы экспортировать запрос, выделите его и в нижнем правом угле нажмите кнопку “Экспортировать”.
В окне “Экспорт сертификата” укажите необходимые настройки и нажмите “Экспорт”.
Укажите путь экспорта файла запроса.
Файл запроса появится в указанной директории с названием “export.cer” по умолчанию. Направьте его в Удостоверяющий центр.
Чтобы создать и отправить запрос на сертификат автоматически через сервис УЦ:
В Вашем Удостоверяющем центре узнайте URL, по которому необходимо сформировать запрос.
Откройте вкладку “Сертификаты” и нажмите “ ”.
В появившемся меню нажмите “Получить сертификат через сервис УЦ”.
Выберите пункт “Добавление нового сервиса” и нажмите “Готово”.
Откроется окно ввода параметров подключения с автоматическим выбором функции “Регистрация нового пользователя”. Если пользователь ещё не зарегистрирован в УЦ, введите данные для регистрации и нажмите кнопку “Подключить”.
Если пользователь уже зарегистрирован в УЦ, отключите функцию “Регистрация нового пользователя”, введите URL сервера и нажмите “Подключить”.
Введите данные для авторизации и нажмите “Подключить”.
Удостоверяющий центр должен появиться в списке в разделе “Сертификаты” в списке “Получить сертификат через сервис УЦ”. Теперь можно создать запрос на сертификат.
Откройте вкладку “Сертификаты” в КриптоАРМ ГОСТ и нажмите “ ”.
В появившемся меню нажмите “Получить сертификат через сервис УЦ”.
Выделите нужный удостоверяющий центр в списке, выберите тип владельца сертификата и нажмите “Готово”.
В новом окне “Создать запрос” заполните сведения о владельце так же, как при добавлении УЦ.
Заполните параметры ключа. Нажмите “Готово”.
Выберите ключевой носитель для хранения контейнера сертификата.
Установите пароль для контейнера сертификата.
Возникнет окно с информацией о результатах операции.
Запрос появится на вкладке “Запросы” в разделе меню “Сертификаты”. Запросы можно экспортировать, удалить или показать в каталоге, выбрав соответствующие кнопки в правой нижней области окна.
Для запроса сертификата будут отображаться различные статусы:
Сертификат подтверждён: выпущен для данного запроса и установлен в Хранилище КриптоПро;
Запрос сертификата отклонен удостоверяющим центром;
Запрос находится в обработке;
Проблемы с соединением, не позволяющим отобразить статус запроса.
Значение «без личного присутствия с использованием квалифицированной эп»
Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgEB"
}
Значение «без личного присутствия с использованием персональных данных, записанных на электронный носитель из заграничного паспорта»
Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgEC"
}
Значение «без личного присутствия с использованием сведений из есиа и ебс»
Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgED"
}
Значение «при личном присутствии»
Для добавления данного расширения необходимо внутрь ExtensionsData поместить представленный ниже JSON-объект CertExtensionData:
{
"OID":"1.2.643.100.114",
"Critical":false,
"Value":"AgEA"
}
Настройка сервиса подписи
Для поддержки сертификатов и ключей, хранимых в мобильном приложении, в Веб-интерфейсе DSS необходимо:
- Добавить криптопровайдер типа
Lite
Add-DssCryptoProvider -ProviderName "Crypto-Pro GOST R 34.10-2022 Cryptographic Service Provider" -ProviderType 80 -TypeId Lite
- Задать режим подписи Сервиса Подписи: подпись хэш-значения, подпись документа.
Set-DssProperties -ClientSignFullDocRequired $true
Примечание
Параметр ClientSignFullDocRequired
определяет тип данных, которые будут
передаваться в МП для подписи.
Если ClientSignFullDocRequired = $false
, в МП передаётся только хэш-значение документа.
В данном режиме поддерживаются все форматы подписи.
Если ClientSignFullDocRequired = $true
, в МП передаётся документ.
В данном режиме поддерживаются следующие форматы подписи: CMS (CAdES-BES, CAdES-T, CAdES-XLT1), XMLDSig, Необработанная подпись.
- Дополнительно можно настроить отправку Callback о событии подписи запроса на сертификат в МП.
Данная возможность может быть полезна для автоматизации процесса выпуска сертификата.
Прикладная система через callback может быть оповещена о том, что пользователь подписал запрос на сертификат,
и запрос на сертификат может быть передан в УЦ для обработки.
Регистрация callback приведена в статье Оповещения о событиях инициализации мобильного приложения.
Обработка ответа сервиса подписи
При успешном создании запроса на сертификат Сервис Подписи в ответе вернёт структуру DSSCertRequest.
Дальнейшее поведение пользователя зависит от значения поля Status в структуре DSSCertRequest и типа УЦ, на котором создавался запрос на сертификат.
ACCEPTED — запрос на сертификат принят и обработан УЦ. В данном случае в поле CertificateID будет записан идентификатор выпущенного сертификата.
REGISTRATION — запрос на сертификат принят в КриптоПро УЦ 2.0 и находится на этапе регистрации пользователя УЦ.
В зависимости от настроек подключения DSS к КриптоПро УЦ 2.0, необходимо:
- ожидать одобрения запроса на сертификат Администратором УЦ;
- одобрить запрос Оператором DSS.
PENDING — запрос на сертификат находится в обработке.
Если запрос отправлен на КриптоПро УЦ 2.0, то в зависимости от настроек подключения DSS к КриптоПро УЦ 2.0 необходимо:
- ожидать одобрения запроса на сертификат Администратором УЦ;
- одобрить запрос Оператором DSS.
Если запрос создавался через «Сторонний Удостоверяющий Центр», необходимо:
Запрос на сертификат (PKCS#10) в формате Base64 содержится в поле Base64Request структуры DSSCertRequest.
REJECTED — запрос отклонён. Дальнейшая обработка запроса невозможна. Для выяснения причин отклонения запроса необходимо обратиться к
Администратору УЦ.
Получение политики сервиса подписи
Пример запроса
Примеры запросов
Пример запроса с указанием различительного имени в строковом представлении:
Примечание
Параметр ClientSignFullDocRequired определяет тип данных, которые будут
передаваться в МП для подписи.
Если ClientSignFullDocRequired = $false, в МП передаётся только хэш-значение документа.
В данном режиме поддерживаются все форматы подписи.
Если ClientSignFullDocRequired = $true, в МП передаётся документ.
В данном режиме поддерживаются следующие форматы подписи: CMS (CAdES-BES, CAdES-T, CAdES-XLT1), XMLDSig, Необработанная подпись.
Создание запроса на сертификат с подтверждением при помощи вторичной аутентификации (v1 api)
При создании запроса на сертификат с подтверждением при помощи вторичной аутентификации требуется выполнить
следующую последовательность действий (шагов):
При этом в массиве параметров транзакции метода /transactions
должны быть отображены следующие поля запроса на сертификат:
CertificateRequest | Параметры транзакции |
---|---|
AuthorityId | CAId |
PinCode | Не используется |
Template | CertTemplateOid |
DistinguishedName | Не используется |
RawDistinguishedName | CertSubjectName |
Parameters ->EkuString | EkuString |
Parameters ->GroupId | GroupId |
Примечание
При создании запроса на сертификат с подтверждением с подтверждением при помощи вторичной аутентификации различительное имя может быть
передано только в строковом представлении.
Установка сертификата
Сервер вернул запрос на сертификат в поле Base64Request. Запрос на сертификат необходимо передать в Удостоверяющий Центр для выпуска сертификата.
Пример запроса