Шаблоны отображаемых данных
Для подтверждения различных видов операций с помощью DSS SDK необходимо настроить шаблоны данных об операции.
Шаблоны данных об операции представляют собой пару следующих шаблонов:
- шаблон кратких сведений о документе или операции (
snippet
); - шаблон общего описания операции (
description
).
Шаблоны данных об операции можно разделить на две группы:
К операциям с документами относятся:
- подпись документа/пакета документов;
- расшифрование документа;
- подтверждение произвольной операции с данными.
К операциям без документов относятся:
- подтверждение входа пользователя (Например, в Веб-интерфейс Пользователя);
- подтверждение создания запроса на сертификат;
- подтверждение удаления сертификата;
- подтверждение произвольной операции;
- другие операции.
Для операций с документами шаблон кратких сведений о документе (snippet
) задается на Сервисе
Обработки Документов.
Для операций без документов шаблон кратких сведений (snippet
) задается на Центре Идентификации.
Краткие сведения о документе могут включать в себя:
- имя документа;
- размер документа;
- хэш-значение от документа;
- другие данные, переданные при загрузке документа.
Примечание
Для структурированных документов может так же формироваться печатное представление.
Ниже приведён пример отображения общего описания операции (1) и кратких сведений о документе (2).
Для операций без документов snippet
представляет собой описание самой операции и задаётся на Центре Идентификации.
Шаблон общего описания операции задаётся только на Центре Идентификации.
Ниже приведён пример отображения общего описания операции (1) и сведений об операции (2).
Краткие сведения о документе или операции
Для формирования кратких сведений о документе на Сервисе Обработки Документов предзарегистрирован плагин с расширением preview_@default_html
.
Плагин используется для формирования кратких сведений для любых видов документов.
Для формирования кратких сведений используется шаблон, задаваемый в настройках плагина через параметр snippetTemplate
.
Шаблон кратких сведений о документе представляет собой HTML-документ.
В качестве основы для шаблона можно использовать следующий HTML-документ. Данный шаблон учитывает особенности отображения в светлой и темной теме iOS.
Примечание
Символы {
и }
в HTML-шаблоне должны быть экранированы,
чтобы соответствовать требованиям механизма заполнения подстановочных параметров шаблона.
- Символ
}
экранируется как}}
. - Символ
{
экранируется как{{
.
<html lang="ru">
<head>
<meta charset="UTF-8"/>
<style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style>
</head>
<body>
<!-- Отображаемые пользователю данные -->
</body>
</html>
Подстановочные параметры шаблона имеют вид: {0:ParameterName}
, где ParameterName
- имя
подстановочного параметра.
Возможные значения подстановочных параметров:
Name
- имя документа, переданное при загрузке;FileType
- расширение/тип документа переданное при загрузке;Id
- идентификатор загруженного документа;FileSize
- размер загруженного документа в байтах;Hash
- хэш-значение загруженного документа (ГОСТ Р 34.11-2012 с длиной хэш-значения 256 бит)
Также при загрузке документа могут быть переданы дополнительные сведения о документе.
Дополнительные сведения передаются в структуре AdditionalInfo
.
В шаблоне данные параметры передаются как {0:AdditionalInfo.ParameterName}
, где ParameterName
-
имя параметра в словаре AdditionalInfo
.
Примечание
Если в шаблон добавлены дополнительные сведения (AdditionalInfo
),
то по умолчанию они будут являться обязательными для всех документов, обрабатываемых плагином.
Для документов, загруженных без указания данных параметров, нельзя будет сформировать краткие сведения (snippet), так как
формирование кратких сведений будет завершаться ошибкой следующего вида: "Встречено значение неизвестного ключа: [AdditionalInfo.ParameterName]".
Данное поведение может быть нежелательным, так как только для определенных документов требуется отображать дополнительные сведения.
Для того чтобы дополнительные поля шаблона были опциональными, необходимо в настройках плагина указать флаг
skipUnknownKeys
=true.
Пример шаблона
<html lang="ru">
<head>
<meta charset="UTF-8"/>
<style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style>
</head>
<body>
<p>Имя документа:</p>
<p>{0:Name}</p>
</body>
</html>
Установка шаблона кратких сведений о документе выполняется командой Set-DssDocumentStoreConverterPlugin
в консоли Powershell.
По умолчанию за отображение кратких сведений о документе отвечает плагин с фиксированным идентификатором (расширением) preview_@default_html
.
Шаблон передается в параметре snippetTemplate
.
Примечание
Значение параметра snippetTemplate
передаётся в одинарных кавычках '
.
Set-DssDocumentStoreConverterPlugin -FileExtension preview_@default_html -Parameters @{ "snippetTemplate"='<html lang="ru"><head><meta charset="UTF-8"/><style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style></head><body><p>Имя документа:</p><p>{0:Name}</p></body></html>' }
Примечание
Расширение плагина preview_@default_html
является предопределённым.
Планин с данным расширеним будет применяться для формирования кратких сведений для любых документов.
Если для определённых документов требуется другой шаблон кратких сведений, то необходимо зарегистрировать отдельный плагин с расширением вида preview_YYY_html
, где YYY - расширение документа.
Например, для документов txt, должен быть зарегистрирован плагин с расширением preview_txt_html
.
Входящий в комплента поставки плагин для формирования кратких сведений по HTML-шаблону:
- ClassName : DSS.DocumentConverter.Preview.PreviewConverter
- AssemblyName : DSS.DocumentConverter.Preview.dll
Параметры плагина:
Имя | Описание |
---|---|
encoding | Ключ для передачи кодировки входных данных через параметры |
snippetTemplate | Шаблон для snippet |
documentTemplate | Шаблон для печатного представления |
snippetTemplatePath | Шаблон для snippet (путь к файлу) |
documentTemplatePath | Шаблон для печатного представления (путь к файлу) |
ConvertationType | Тип формирования сведений. Возможные значения: TemplateOnly - Конвертация без подстановочных символов <br/ > DocumentInfo - Конвертация с подстановочными символами на основе информации о документе |
noSnippet | Не формировать краткие сведения о документе. Значение true , false |
noDocument | Не формировать печатное представление документа. Значение true , false |
skipUnknownKeys | Игнорировать неизвестные подстановочные поля. Значение true , false |
snippetTemplateMappingPath | путь к файлу с отображением шаблона snippet на systemID |
snippetTemplateMapping | (строка) сериализованный JSON-список с отображением шаблона snippet на systemID |
Пример регистрации плагина для формирования кратких сведений по HTML-шаблону для txt-документов.
Add-DssDocumentStoreConverterPlugin -FileExtension preview_txt_html -Assembly "DSS.DocumentConverter.Preview.dll" -ClassName "DSS.DocumentConverter.Preview.PreviewConverter" -Parameters @{ "snippetTemplate"='<html lang="ru"><head><meta charset="UTF-8"/><style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style></head><body><p>Имя документа:</p><p>{0:Name}</p></body></html>' }
Плагин формирования кратких сведений позволяет настроить несколько шаблонов кратких сведений для одного расширения файла. Данная настройка может быть использована, если на Центру Идентификации настроено несколько различных мобильных приложений и требуется отображать разные краткие сведения об одном и том же документе в разных приложениях.
Настройка списка шаблонов выполняется при помощи параметров:
- snippetTemplateMappingPath - путь к файлу с отображением шаблона snippet на systemID
- snippetTemplateMapping - (строка) сериализованный JSON-список с отображением шаблона snippet на systemID
Если заданы оба параметра, то приоритет у параметра snippetTemplateMappingPath.
Содержимое файла представляет собой сериализованный JSON-список объектов, состоящих из полей:
- Alias - (опционально) имя отображения. Для удобства администратора
- SystemId - (обязательное) идентификатор системы myDSS
- TemplatePath - путь к файлу шаблона
- Template - (строка) шаблон
Приоритет у параметра Template, если заданы оба параметра TemplatePath и Template. Идентификатор системы myDSS необходимо получить в выводе командлета Get-MyDssSystem.
Чтение списка отображений толерантно к ошибкам. Если не задан SystemId, TemplatePath, Template или файл по пути указанному в параметре TemplatePath не существует, то отображение будет пропущено.
Если в списке отображений не найдена запись для SystemId, то будет использован шаблон по умолчанию. Шаблон по умолчанию задаётся в параметрах snippetTemplatePath или snippetTemplate. Приоритет у параметра snippetTemplatePath.
Если шаблон или список отображений шаблонов задаётся через путь к файлу, то файлы должны быть установлены на каждом узле кластера.
Пример:
[
{
"Alias":"dssclient",
"SystemId":"44631690-5580-41b2-b449-732d7aef7404",
"TemplatePath":"C:\\tmp\\snippet_default.xml"
},
{
"Alias":"mydss20",
"SystemId":"ed9f6aac-7bc3-4ebc-b4f8-946ed21da5e4",
"TemplatePath":"C:\\tmp\\snippet_other.xml"
}
]
Краткие сведения об операции без документов
Установка шаблона сведений об операции без документов выполняется командой Set-DssMyDssFormatterTemplate
в консоли Powershell.
Шаблон передаётся в параметре TemplateSnippet
.
# Настройка шаблона snippet для подтверждения входа
$template = Get-DssMyDssFormatterTemplate -EventTypes SecondaryAuthLogin
Set-DssMyDssFormatterTemplate -TemplateID $template.ID -TemplateCaption '{{"values": {{"dss": "КриптоПро DSS","date": "{0:Date}","login": "{0:Login}"}},"keys": {{"dss": "Сервер ЭП","date": "Время","login": "Логин пользователя"}}}}' -TemplateSnippet '<html lang="ru"><head><meta charset="UTF-8"/><style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style></head><body><p>Подтвердите вход пользователя.</p><p>Идентификатор сессии: <b>{0:SessionId}</b></p></body></html>'
Примечание
При необходимости шаблон может содержать CSS.
Подробнее о представлении краткой информации о документе
Ниже приведён список операций без документов, для которых могут быть настроены шаблоны кратких сведений:
Событие | Описание |
---|---|
SecondaryAuthLogin | (код 92) Подтверждение создания подписей в пакете документов |
SecondaryAuthCreateRequest | (код 96) Подтверждение создания запроса на сертификат |
SecondaryAuthChangePin | (код 97) Подтверждение изменения ПИН-а на сертификат |
SecondaryAuthRenewCert | (код 98) Подтверждение обновления сертификата. Используется только для сертификатов выпущенных через модуль КриптоПро УЦ 2.0 |
SecondaryAuthRevokeCert | (код 99) Подтверждение аннулирования сертификата. Используется только для сертификатов выпущенных через модуль КриптоПро УЦ 2.0 |
SecondaryAuthHoldCert | (код 100) Подтверждение приостановления действия сертификата. Используется только для сертификатов выпущенных через модуль КриптоПро УЦ 2.0 |
SecondaryAuthUnholdCert | (код 101) Подтверждение возобновления действия сертификата. Используется только для сертификатов выпущенных через модуль КриптоПро УЦ 2.0 |
SecondaryAuthDeleteCert | (код 102) Подтверждение удаления сертификата |
SecondaryAuthDeleteCerts | (код 103) Подтверждение удаления всех сертификатов |
SecondaryAuthPrivateKeyAccess | (код 104) Подтверждение доступа к закрытому ключу (используется только для Cloud CSP) |
Печатное представление документа
Для структурированных документов может быть сформирован третий вид представления - печатное представление.
Для формирования печатного представления должен быть зарегистририрован плагин с расширением вида preview_YYY_html
, где YYY
- расширение документа.
Примечание
В комплент поставки КриптоПро DSS не входят специальные плагины для формирования печатного представление. Решение об использование существующих плагинов или разработке нового плагина должно приниматься приниматься исходя из формата документа.
В комплект поставки КриптоПро DSS входят два плагина, которые могут быть использованы для формирования печатного представления структурированных документов:
- Документы формата XML
Плагин для преобразования XML документов с помощью XSLT. XSL-преобразование должно преобразовать XML документ в HTML или текст. Параметры плагина:
AssemblyName: DSS.DocumentConverter.Xslt.dll Classname: DSS.DocumentConverter.Xslt.XsltConverter
- Докуметы формата ключ-значение (csv и т.п)
Плагин формирует таблицу с отображаемыми именами ключей и значениями ключей, взятыми из исходного документа.
Параметры плагина:
- AssemblyName: DSS.DocumentConverter.Kvp.dll
- Classname: CryptoPro.DSS.DocumentConverter.Kvp.WordConverter
Имя | Описание |
---|---|
keys | (обязательный) Путь к файлу с отображаемыми именами ключей. |
encoding | (опциональный) кодировака документа |
inputSeparator | (опциональный) Разделитель между ключ-значение. По умолчанию = |
outputSeparator | (опциональный) Разделитель в выходном файле. |
skipUnknownKeys | (опциональный) Пропускать неизвестные ключи. По умолчанию true |
По умолчанию зарегистированный плагин с расширением вида preview_YYY_html
, где YYY
- расширение документа,
будет использован для формирования двух представлений документа:
- краткие сведения
- печатное представление
Данное поведение может быть нежелательным. Например, если плагин не поддерживает одно из преобразований. Изменить поведение поведение плагина можно с помощью параметров:
- noSnippet - Не формировать краткие сведения о документе. Значение
true
,false
. - noDocument - Не формировать печатное представление документа. Значение
true
,false
.
Примечание
Параметры noSnippet
, noDocument
были добавлены в КриптоПро DSS начиная с версии 2.0.3620.
В большинстве случаев будет достаточно плагина по умолчанию (preview_@default_html
) для формирования кратких сведений о документе.
Пример
Ниже приведен пример настройки КриптоПро DSS для формирования трёх представлений для документов формата XML.
Будем считать, что документы имеют расширение xml
.
Для формирования кратких сведений о документе будет использован предзарегистрированный плагин (preview_@default_html
).
Если для XML документа требуется другой HTML-шаблон, то необходимо зарегистрировать плагин:
Add-DssDocumentStoreConverterPlugin -FileExtension preview_xml_html -Assembly "DSS.DocumentConverter.Preview.dll" -ClassName "DSS.DocumentConverter.Preview.PreviewConverter" -Parameters @{ "snippetTemplate"='__new__html__template'; "noDocument" = "true" }
Примечание
В параметрах плагина необходимо указать параметр "noDocument" = "true", для того чтобы плагин формировал только краткие сведения о документе.
Для формирования исходного представления документа будет использован предзарегистрированный плагин для расширения XML.
Get-DssDocumentStoreConverterPlugin -FileExtension xml | fl
ClassName : CryptoPro.DSS.DocumentConverter.Xml.XmlConverter
AssemblyName : DSS.DocumentConverter.Xml.dll
Priority : 4294967295
Parameters : {[encoding, UTF-8]}
Для формирования печатного представления документа будет использован входящий в комплект поставки КриптоПро DSS плагин XSLT.
Плагин должен быть зарегистрирован с расширением preview_xml_html
.
В параметрах плагина необходиму указать путь к файлу с XSL-преобразованием через параметр xslt
.
Add-DssDocumentStoreConverterPlugin -FileExtension preview_xml_html -Assembly DSS.DocumentConverter.Xslt.dll -Classname DSS.DocumentConverter.Xslt.XsltConverter -Parameters @{ "xslt"="<full_path>"; "noSnippet" = "true" }
Примечание
В параметрах плагина необходимо указать параметр "noSnippet" = "true"
. Это необходимо для того, чтобы
плагин формировал только печатное представление.
В результате для документов формата XML будет зарегистрировано три плагина со следующими расширениями:
preview_@default_html
- (предзарегистрированный) для формирования кратких сведений.xml
- (предзарегистрированный) для формирования исходного представления.preview_xml_html
- для формирования печатного представления.
Шаблон общего описания операции
Шаблон общего описания операции представляет собой данные в формате JSON. Общий вид шаблона:
{
"values": {
"key1": "KEY1_VALUE",
"key2": "KEY2_VALUE"
},
"keys": {
"key1": "KEY1_DISPLAYNAME",
"key2": "KEY2_DISPLAYNAME"
}
}
Шаблон состоит из словарей values
и keys
. В словаре keys
передаются отображаемые имена параметров.
В словаре values
передаются значения параметров.
Примечание
Символы {
и }
в JSON-шаблоне должны быть экранированы,
чтобы соответствовать требованиям механизма заполнения подстановочных параметров шаблона.
- Символ
}
экранируется как}}
. - Символ
{
экранируется как{{
.
Пример
{{
"values": {{
"dss": "КриптоПро DSS",
"date": "{0:Date}",
"login": "{0:Login}",
"certid": "{0:CertificateID}"
}},
"keys": {{
"dss": "Сервер ЭП",
"date": "Время",
"login": "Логин пользователя",
"certid": "Идентификатор сертификата"
}}
}}
Установка шаблона общих сведений об операции c документами выполняется командой
Set-DssFormatterTemplate
в консоли Powershell.
# Настройка описания операции, отображаемого в МП для операции подписи и пакетной подписи
$template2 = Get-DssFormatterTemplate -EventTypes SecondaryAuthSign -Destination MyDssAuth
Set-DssFormatterTemplate -TemplateID $template2.ID -Template '{{"values": {{"dss": "КриптоПро DSS","date": "{0:Date}","login": "{0:Login}","certid": "{0:CertificateID}" }},"keys":
{{"dss": "Сервер ЭП","date": "Время","login": "Логин пользователя", "certid":"Идентификатор сертификата"}}}}'
$template2 = Get-DssFormatterTemplate -EventTypes SecondaryAuthSignDocs -Destination MyDssAuth
Set-DssFormatterTemplate -TemplateID $template2.ID -Template '{{"values": {{"dss": "КриптоПро DSS","date": "{0:Date}","login": "{0:Login}","certid": "{0:CertificateID}" }},"keys":
{{"dss": "Сервер ЭП","date": "Время","login": "Логин пользователя", "certid":"Идентификатор сертификата"}}}}'
Установка шаблона общих сведений об операции без документов выполняется командой
Set-DssMyDssFormatterTemplate
в консоли Powershell.
Шаблон передаётся в параметре TemplateCaption
.
# Настройка шаблона плашки для подтверждения входа
$template = Get-DssMyDssFormatterTemplate -EventTypes SecondaryAuthLogin
Set-DssMyDssFormatterTemplate -TemplateID $template.ID -TemplateCaption '{{"values": {{"dss": "КриптоПро DSS","date": "{0:Date}","login": "{0:Login}"}},"keys": {{"dss": "Сервер ЭП","date": "Время","login": "Логин пользователя"}}}}' -TemplateSnippet '<html lang="ru"><head><meta charset="UTF-8"/><style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style></head><body><p>Подтвердите вход пользователя.</p><p>Идентификатор сессии: <b>{0:SessionId}</b></p></body></html>'
Пример настройки отображаемых данных
Данный пример содержит вариант настройки отображаемых данных для операций подписи (в т.ч. пакетной) и входа в КриптоПро DSS.
# Настройка плагина конвертации для отображаемых данных
Set-DssDocumentStoreConverterPlugin -FileExtension preview_@default_html -Parameters @{ "snippetTemplate"='<html lang="ru"><head><meta charset="UTF-8"/><style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style></head><body><p>Имя документа:</p><p>{0:Name}</p></body></html>' }
# Настройка описания операции, отображаемого в МП для операции подписи и/или пакетной подписи
$template2 = Get-DssFormatterTemplate -EventTypes SecondaryAuthSign -Destination MyDssAuth
Set-DssFormatterTemplate -TemplateID $template2.ID -Template '{{"values": {{"dss": "КриптоПро DSS","date": "{0:Date}","login": "{0:Login}","certid": "{0:CertificateID}" }},"keys":
{{"dss": "Сервер ЭП","date": "Время","login": "Логин пользователя", "certid":"Идентификатор сертификата"}}}}'
$template2 = Get-DssFormatterTemplate -EventTypes SecondaryAuthSignDocs -Destination MyDssAuth
Set-DssFormatterTemplate -TemplateID $template2.ID -Template '{{"values": {{"dss": "КриптоПро DSS","date": "{0:Date}","login": "{0:Login}","certid": "{0:CertificateID}" }},"keys":
{{"dss": "Сервер ЭП","date": "Время","login": "Логин пользователя", "certid":"Идентификатор сертификата"}}}}'
# Настройка шаблона отображаемых данных для подтверждения входа
$template = Get-DssMyDssFormatterTemplate -EventTypes SecondaryAuthLogin
Set-DssMyDssFormatterTemplate -TemplateID $template.ID -TemplateCaption '{{"values": {{"dss": "КриптоПро DSS","date": "{0:Date}","login": "{0:Login}"}},"keys": {{"dss": "Сервер ЭП","date": "Время","login": "Логин пользователя"}}}}' -TemplateSnippet '<html lang="ru"><head><meta charset="UTF-8"/><style>body{{font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style></head><body><p>Подтвердите вход пользователя.</p><p>Идентификатор сессии: <b>{0:SessionId}</b></p></body></html>'
Пример настройки шаблонов отображаемых данных для произвольных событий
КриптоПро DSS позволяет регистрировать произвольные события, которые можно подтверждать через мобильное приложение. Ниже приведён пример регистрации такого события и настройки шаблонов отображаемых данных.
1. Регистрация события
Add-DssScope -Name testmydssevent -ScopeDisplayName testmydssevent -ScopeDescription "Тестовая операция для myDSS 2.0" -RequireConfirmation 1
Значение параметров Name
, testmydssevent
, ScopeDescription
являются техническими и не отображаются Пользователям в веб-интерфейсе или мобильном приложении.
2. Настройка шаблонов отображаемых данных
Для настройки шаблона необходимо определить его идентификатор. Пример настройки шаблонов отображаемых данных для произвольных событий:
$template = Get-DssScopeTemplate -ScopeName testmydssevent | where { $_.Destination -eq "MyDssAuth" }
Для найденного шаблона потребуется настроить:
- шаблон кратких сведений о документе или операции (
snippet
); - шаблон общего описания операции (
description
).
Правила формирования данных шаблонов приведены выше.
Set-DssMyDssFormatterTemplate -TemplateID $template.ID -TemplateSnippet '<html lang="ru"><head><meta charset="UTF-8"/><style>body{{font-family: -apple-system,BlinkMacSystemFonUI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; padding: 16pt;}} @media(prefers-color-scheme: dark){{body{{color: white;}}}}</style></head><body>Тестовое событие.</body></html>' -TemplateCaption '{{"values": {{"dss": "КриптоПро DSS", "operation":"Операция", "date": "{0:Date}","login": "{0:Login}"}},"keys": {{"operation":"Тестовая операция", "dss": "Сервер ЭП","date": "Время","login": "Логин пользователя"}}}}'
Дополнительно может потребоваться настроить текст, отображаемый пользователю в веб-интерфейсе DSS при подтверждении операции.
Для этого необходимо найти шаблон с типом Challenge
:
Get-DssScopeTemplate -ScopeName testmydssevent | where { $_.Destination -eq "Challenge" }
При запросе подтверждения произвольной операции можно передать параметры данной операции. Параметры передаётся в словаре ConfirmationParams
.
Пример:
{
"Resource" : "urn:cryptopro:dss:signserver:SignServer",
"ConfirmationScope" : "testmydssevent"
"ClientId":"oauth-client-id",
"CallBackUri": "{{callback_uri}}",
"ConfirmationParams": {
"Param1": "Подстановочный параметр 1",
"Param2": "Подстановочный параметр 2",
}
}
Ключи словаря параметров ConfirmationParams
могут быть использованы в качестве подстановочных параметров в шаблонах отображаемых данных.
С произвольной операцией может быть связан один или несколько документов. Идентификаторы документов передаются в списке ConfirmationDataRefs
Если требуется отобразить документы пользователю, то настройка отображения
должна быть выполнена на Сервисе Обработки Документов.
Пример запроса подтверждения произвольной операции с документами:
{
"Resource" : "urn:cryptopro:dss:signserver:SignServer",
"ConfirmationScope" : "testmydssevent"
"ClientId":"oauth-client-id",
"CallBackUri": "{{callback_uri}}",
"ConfirmationParams": {
"Param1": "Подстановочный параметр 1",
"Param2": "Подстановочный параметр 2",
},
"ConfirmationDataRefs" : [
"31FA0009-0968-4E5F-9B66-A1B6B53BA5C7",
"DB1655AF-647E-44A4-8AB2-FF2B039B3BE1"
]
}