Действия с сертификатами выполняются вручную, с помощью настраиваемых кнопок.
Подготовка
•Создать Удостоверяющий центр КриптоПро (его ID используется в настройках смарт-действий).
•Создать две категории: категория "Пользователи" для привязки сертификатов УЦ КриптоПро к пользователям "Первой Формы" и категория "Сертификаты" для выполнения действий над этими сертификатами.
Плагин CryptoPro для браузера установлен и включен.
Категория "Пользователи"
Категория содержит следующие ДП:
ДП |
Тип |
Описание |
ID ДП в данном примере |
---|---|---|---|
UserId |
Текст |
GUID пользователя в УЦ КриптоПро |
11 |
Xml |
Текст |
Данные о пользователе |
22 |
Эти ДП не отображаются при создании новой задачи.
Категория "Сертификаты"
Категория содержит следующие ДП:
ДП |
Тип |
Описание |
ID ДП в данном примере |
---|---|---|---|
RequestString |
Текст |
Строка с запросом. В ней могут быть указаны данные о пользователе (заполнять необязательно) |
33 |
Request |
Текст |
Строка запроса сертификата в УЦ КриптоПро |
44 |
RequestId |
Текст |
GUID запроса на сертификат в УЦ КриптоПро |
55 |
UserId |
Текст |
GUID пользователя в УЦ КриптоПро (полученный при регистрации пользователя, см. выше категорию "Сертификаты") |
66 |
Certificate |
Текст |
Полученный сертификат |
77 |
Container |
Текст |
Название контейнера, хранящего сертификат |
88 |
Эти ДП не отображаются при создании новой задачи.
Автоматизация в категории "Пользователи"
Кнопка Зарегистрировать
Смарт-пакет: "Зарегистрировать пользователя" с действием "CryptoPro CA — new or update user"
Смарт-пакет для регистрации пользователя в УЦ КриптоПро.
Автоматизация в категории "Сертификаты"
Кнопка Создать запрос на сертификат
JavaScript выражение:
tcCryptoLogic.newRequest(window.taskId, 33, 44, {extParamsId:{ContainerName: '88'}})
где 33 — это ID ДП RequestString, 44 — ID ДП Request, а 88 — ID ДП Container
Кнопка Выдать сертификат
Смарт-пакет: "Выдать сертификат" с действием "CryptoPro CA — Issue certificate"
Смарт-пакет для выдачи сертификата.
Смарт-действие для выпуска сертификата.
В смарт-действии Issue certificate заполняются ДП, поэтому после него нужно обновить задачу и обновить карточку задачи.
Смарт-действия для обновления задачи после выпуска сертификата.
Кнопка Записать сертификат
JavaScript выражение:
tcCryptoLogic.installCertificate(window.taskId, 77).then(function (response) { $('#stepBtnUnderTaskText1312').click(); $('#ctl00_body > div.sweet-alert.showSweetAlert.visible > div.sa-button-container > div > button').click(); }, function (ex) { dialogs.error("Запись Электронной подписи на персональную карту завершилась с ошибкой.", "Убедитесь, что Ваша карта вставлена в считыватель, и нажмите на кнопку «Записать на носитель». Если ошибка повторилась, обратитесь в Службу Поддержки"); })
где 77 — это ID ДП Certificate.
Работа в пользовательском режиме
В категории "Пользователи"
1.В ДП Xml запишите строку с данными о пользователе по образцу:
<ProfileAttributesChange><To><Attribute Oid="2.5.4.3" Value="ФИО_пользователя"/></To></ProfileAttributesChange>
(может использоваться ФИО пользователя, его ID в "Первой Форме" или другая информация).
2.Нажмите кнопку Зарегистрировать. По xml-данным пользователя будет выполнена регистрация в УЦ КриптоПро — заполнится ДП UserId, необходимый для дальнейшей работы с сертификатами.
В категории "Сертификаты"
3.Скопируйте в ДП UserId значение, полученное при регистрации (см. выше п.2 в категории "Пользователи").
4.Нажмите кнопку Создать запрос на сертификат. В ДП Request будет записана строка запроса сертификата.
5.Нажмите кнопку Выдать сертификат и следуйте указаниям программы. По окончании в ДП RequestId и Certificate будут записаны данные.
6.Нажмите кнопку Записать сертификат. Сгенерированные данные будут переданы в УЦ КриптоПро.
Другие действия
Если нужно автоматизировать процессы приостановки, отзыва и возобновления сертификатов, а также смены pin-кода, вы можете создать кнопки, аналогичные кнопке Выдать сертификат, но с соответствующими смарт-действиями или js-функциями.
Полезные ссылки