Отображение документов в мобильном приложении myDSS
Мобильное приложение myDSS имеет возможность отображать документ при подтверждении операции с этим документом. Настройка соответствующих плагинов преобразования документов осуществляется при помощи специализированного набора командлетов.
Центр Идентификации предоставляет Пользователям возможность визуализации
документов в мобильном предложении myDSS перед созданием подписи.
Поддерживается просмотр документов следующих форматов: PDF
, XML
, ODT
.
Также могут быть обработаны документы форматов DOC
, DOT
, DOCM
, DOTM
,
DOCX
, DOTX
, FlatOpc
, FlatOpcMacroEnabled
, FlatOpcTemplate
, FlatOpcTemplateMacroEnabled
,
OTT
, OOXML
, WordML
, RTF
, HTML
, XHTML
, MHTML
и TXT
, однако в их
отношении в рамках проведения оценки влияния требуется проверять допустимость
использования в конечной системе. Подробнее об этом в п. 1.5 документа
ЖТЯИ.00096-02 30 01. КриптоПро HSM. Формуляр.
Примечание
Если Веб-интерфейс Сервиса Подписи настроен на использование v2 API и/или
для создания подписи с подтверждением используется v2 API, то настройка отображения документов
выполняется на Сервисе Обработки документов. При этом настройки отображения документов заданные на самом
Центре Идентификации (команда Get-DssStsConverterPlugin
) - игнорируются.
Настройка отображения документов на Сервиса Обработки Документов
Центр Идентификации Крипто DSS может предоставлять одновременно v1 API и v2 API. Если прикладная система использует обе версии REST API, то настройка отображения документов должна быть выполнена:
- Центре Идентификации
- Сервисt Обработки Документов
Примечание
Настройка отображения документов приведённая ниже относится только к случаю использования v1 API.
Плагины, позволяющие визуализировать документы данных форматов, находятся в
директории <Путь установки>\DSS\Plugins\Converters
и имеют следующие названия:
DSS.DocumentConverter.PdfStub.dll
– отвечает за отображение документов форматаPDF
;DSS.DocumentConverter.Word.dll
- отвечает за отображение документов форматовDOC
,DOT
,DOCM
,DOTM
,DOCX
,DOTX
,FlatOpc
,FlatOpcMacroEnabled
,FlatOpcTemplate
,FlatOpcTemplateMacroEnabled
,XML
,ODT
,OTT
,OOXML
,WordML
,RTF
,HTML
,XHTML
,MHTML
,TXT
,PNG
,JPG
,BMP
,JPEG
,TIFF
,GIF
. Для активации возможности просмотра документов необходимо зарегистрировать нужные форматы и соответствующие плагины с помощью Windows PowerShell. Для каждого экземпляра веб-приложения в директории<Путь установки>\Sts
создается свой собственный конфигурационный файл с именем<Имя экземпляра веб-приложения>_convert.config
.
Если плагин преобразования настроен верно, в мобильном приложении myDSS в области «Данные операции» отобразится документ, операцию с которым требуется подтвердить.
Пример:
Add-DssSTSConverterPlugin -FileExtension pdf -Assembly DSS.DocumentConverter.PdfStub.dll
Add-DssSTSConverterPlugin -FileExtension doc -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension dot -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension docm -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension dotm -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension docx -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension dotx -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension FlatOpc -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension FlatOpcMacroEnabled -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension FlatOpcTemplate -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin –FileExtension FlatOpcTemplateMacroEnabled -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension xml -Assembly DSS.DocumentConverter.Xml.dll
Add-DssSTSConverterPlugin -FileExtension odt -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension ott -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension ooxml -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension WordML -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension rtf -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension html -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension xhtml -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension mhtml -Assembly DSS.DocumentConverter.Word.dll
Add-DssSTSConverterPlugin -FileExtension txt -Assembly DSS.DocumentConverter.Word.dll
Add-DssStsConverterPlugin -FileExtension png -Assembly DSS.DocumentConverter.Image.dll
Add-DssStsConverterPlugin -FileExtension jpg -Assembly DSS.DocumentConverter.Image.dll
Add-DssStsConverterPlugin -FileExtension bmp -Assembly DSS.DocumentConverter.Image.dll
Add-DssStsConverterPlugin -FileExtension jpeg -Assembly DSS.DocumentConverter.Image.dll
Add-DssStsConverterPlugin -FileExtension tiff -Assembly DSS.DocumentConverter.Image.dll
Просмотр настроек плагина:
Get-DssStsConverterPlugin | where { $_.Extension -eq "xml" } | select -ExpandProperty Converters | Format-List
Изменение настроек плагина:
Set-DssStsConverterPlugin -FileExtension xml -Assembly DSS.DocumentConverter.Xml.dll -ClassName CryptoPro.DSS.DocumentConverter.Word.WordConverter -Parameters @{ "encoding" = "UTF-8"}
Внимание!
При возникновении ошибки во время изменения настроек плагин удаляется из списка. Необходимо добавить его заново командой Add-Dss***ConverterPlugin.
Настройка кодировки
Примечание
Плагин DSS.DocumentConverter.Word.dll
может неверно определить кодировку в документах типа
xml
, txt
. В этом случае её необходимо задать вручную через параметр encoding. Имена кодировок
приведены на сайте IANA. Чаще всего используются значения: UTF-8
, UTF-7
, UTF-16BE
, UTF-16LE
,
UTF-16
, US-ASCII
.
Пример настройки кодировки аналогичен настройке при отображении документов на Веб-интерфейсе Пользователя.
Плагин для визуализации больших документов
Данный плагин обеспечивает визуализацию документов, которые в силу своего размера не могут быть визуализированы другими способами.
Для документов, превышающих максимально возможный для визуализации размер, плагин формирует xml-"выжимку" документа, включающую в себя:
- имя документа;
- размер документа;
- хэш документа в кодировке Base64 или HEX.
Далее, при помощи XSLT-преобразования данный xml транформируется в HTML-документ, который в свою очередь и визуализируется.
Пример xml-"выжимки" представлен ниже:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LargeDocPreview>
<Documents>
<Document>
<DocumentInfo>myDoc1.txt</DocumentInfo>
<Size>44,00 B</Size>
<HashVal>8oUjd2NIVGtcXxhV95evCDCed3YlYVnYbMwA6CYelwI=</HashVal>
</Document>
<Document>
<DocumentInfo>myDoc2.txt</DocumentInfo>
<Size>44,00 B</Size>
<HashVal>8oUjd2NIVGtcXxhV95evCDCed3YlYVnYbMwA6CYelwI=</HashVal>
</Document>
<Document>
<DocumentInfo>myDoc3.txt</DocumentInfo>
<Size>44,00 B</Size>
<HashVal>8oUjd2NIVGtcXxhV95evCDCed3YlYVnYbMwA6CYelwI=</HashVal>
</Document>
</Documents>
</LargeDocPreview>
Пример XSTL-преобразования, используемого в плагине по умолчанию доступен по ссылке: preprocessor.xslt
В случае, если плагин настроен правильно, большие файлы будут визуализироваться следующим образом:
Плагин визуализации содержимого документа с присоединенной CMS-подписью
Данный плагин позволяет визуализировать исходное содержимое документа, который был подписан с использованием присоединенной CMS-подписи.
Плагин обладает возможностью автоматического определения типа содержимого. В случае если тип не может быть определен автоматически, плагин использует значение по умолчанию, задаваемое при регистрации плагина. Конфигурация автоматического определения типа может быть как передана автоматически из настроек DSS, так и задана администратором в настройках плагина при
Регистрация плагина осуществляется следующим образом:
Add-DssFeConverterPlugin -FileExtension sig -Assembly DSS.DocumentConverter.AttachedCMS.dll -Classname DSS.DocumentConverter.AttachedCMS.AttachedCMSConverter -Priority 1 -Parameters @{"defaultext"="docx";"autodetect"='{"pdf":"25504446","docx":"504B030414000600","doc":"D0CF11E0A1B11AE1","bmp":"424D","jpeg":"FFD8","png":"89504E470D0A1A0A","tiff":"492049"}'}
Add-DssStsConverterPlugin -FileExtension sig -Assembly DSS.DocumentConverter.AttachedCMS.dll -Classname DSS.DocumentConverter.AttachedCMS.AttachedCMSConverter -Priority 1 -Parameters @{"defaultext"="docx";"autodetect"='{"pdf":"25504446","docx":"504B030414000600","doc":"D0CF11E0A1B11AE1","bmp":"424D","jpeg":"FFD8","png":"89504E470D0A1A0A","tiff":"492049"}'}
Add-VsConverterPlugin -FileExtension sig -Assembly DSS.DocumentConverter.AttachedCMS.dll -Classname DSS.DocumentConverter.AttachedCMS.AttachedCMSConverter -Priority 1 -Parameters @{"defaultext"="docx";"autodetect"='{"pdf":"25504446","docx":"504B030414000600","doc":"D0CF11E0A1B11AE1","bmp":"424D","jpeg":"FFD8","png":"89504E470D0A1A0A","tiff":"492049"}'}
Add-DssDocumentStoreConverterPlugin -FileExtension sig -Assembly DSS.DocumentConverter.AttachedCMS.dll -Classname DSS.DocumentConverter.AttachedCMS.AttachedCMSConverter -Priority 1 -Parameters @{"defaultext"="docx";"autodetect"='{"pdf":"25504446","docx":"504B030414000600","doc":"D0CF11E0A1B11AE1","bmp":"424D","jpeg":"FFD8","png":"89504E470D0A1A0A","tiff":"492049"}'}
Примечание
Данный плагин доступен для версий DSS, начиная с 2.0.3555. Для более ранних версий DSS плагин
рапространяется отдельно. Библиотеку с плагином необходимо скопировать в следующий каталог:
C:\Program Files\Crypto Pro\DSS\Plugins\Converters
.
Параметры плагина:
1) defaultext
- тип содержимого по умолчанию. В случае если тип содержимого не будет определен плагином автоматически, плагин присвоит содержимому тип, указанный здесь.
2) autodetect
- параметры автоматического определения типа содержимого.
Параметры автоматического определения типа содержимого представляют из себя сериализованный в json словарь пар (Ключ-Значение), в котором в качестве ключа выступает тип содержимого, а в качестве значения - сигнатура типа (первые N байт содержимого, отвечающие за тип, в шестнадцатеричной системе).
Регистрация плагина
Для регистрации плагина необходимо выполнить следующую команду:
Add-DssStsConverterPlugin -FileExtension %FileExtension% -Assembly DSS.DocumentConverter.LargeDocPreprocessor.dll -Classname DSS.DocumentConverter.LargeDocPreprocessor.LargeDocPreprocessor -Parameters @{"MinimalDocSize"="1"} -Priority 1
Параметры плагина включают в себя:
MinimalDocSize
- минимальный пороговый размер файлов (в мегабайтах) для которых будет осуществляться преобразование (все файлы с меньшим размером игнорируются);Xslt
- путь к файлу с пользовательским XSLT-преобразованием (для ситуаций, когда преобразование по умолчанию не подходит).UseHex
- отображать хэш-значение в HEX-формате. По умолчанию хэш-значение хэш-значение отображается в формате Base64.
Примечание
Параметр MaxIisContentLength
Веб-интерфейса ограничивает максимальный размер файла, который может быть обработан сервисом.
Конфигурацию плагина следует осуществлять с учетом значения данного параметра.
Примечание
Мобильное приложение myDSS при помощи данного конвертера позволяет отображать документы размером более 17 МБ.
Построение цепочки плагинов визуализации
Система плагинов Центра Идентификации позволяет формировать из них цепочку. Это дает возможность сконфигурировать плагины визуализации таким образом, чтобы документы размером ниже порогового значения обрабатывались одним плагином, а документы выше - другим.
Для того, чтобы Центр Идентификации построил из плагинов цепочку, они должны быть зарегистрированы для одного и того же расширения, при этом порядок отработки плагинов в цепочке зависит от параметра Priority, задаваемого при регистрации плагина.
Плагины с меньшим Priority выполняют преобразование в цепочке раньше. Далее приведен пример регистрации плагинов, который позволит обрабатывать документы с расширением .doc любого размера.
Add-DssStsConverterPlugin -FileExtension doc -Assembly DSS.DocumentConverter.LargeDocPreprocessor.dll -Classname DSS.DocumentConverter.LargeDocPreprocessor.LargeDocPreprocessor -Parameters @{"MinimalDocSize"="10"} -Priority 1
Add-DssStsConverterPlugin -FileExtension doc -Assembly DSS.DocumentConverter.Word.dll -Classname CryptoPro.DSS.DocumentConverter.Word.WordConverter -Priority 2
В данном примере регистрируется плагин для больших файлов с минимальным размеров в 10МБ и Priority
1, а также плагин визуализации документов Word.
При передаче документа .doc в мобильное приложение будет происходить следующее:
- Если документ превышает размер в 17 МБ, он не будет визуализирован;
- Документ попадает в плагин визуализации больших документов (плагин с приоритетом
1
);- Если размер документа превышает пороговое значение (10 МБ в данном примерер), он будет визуализирован плагином больших документов в специальном виде (см. скриншот выше);
- Если размер документа меньше порогового значения, документ передается следующему плагину цепочки без изменений;
- Документ попадает в плагин визуализации документов Word (плагин с приоритетом
2
) и для него формируется традиционная отображаемая форма.
Дополнительные возможности
Также плагин может быть использован для визуализации при пакетной подписи и подписи хэш-значений (включая подпись пакета хэш-значений).
В данных сценариях необходимо зарегистрировать плагин с расширением, которое будет передаваться в параметре DocumentType
в запросе создания транзакции на Сервисе Подписи.
Для отображения сведений о документах при пакетной подписи плагин (включая пакет хэш-значений) должен быть зарегистрирован с параметром MultiDoc
= true.
Пример:
Add-DssStsConverterPlugin -FileExtension bse -Assembly DSS.DocumentConverter.LargeDocPreprocessor.dll -Classname DSS.DocumentConverter.LargeDocPreprocessor.LargeDocPreprocessor -Parameters @{"MultiDoc"="true"}
Примечание
Если для плагина установлен параметр MultiDoc
= true, то значение параметра MinimalDocSize
- игнорируется.
Примечание
Для визуализации подписываемых данных в случае подписи одного хэш-значения, в параметрах плагина необходимо задать MinimalDocSize
=0.
Формат отображения хэш-значения определяется параметром UseHex
:
- true - отображать хэш-значение в HEX-формате.
- false - отображаеть в формате Base64.
Для визуализации подписываемых данных в сценариях:
- подпись хэш-значения
- подпись пакета документов или подпись пакета хэш-значений
необходимо зарегистрировать плагин с двумя разными расширениями, которые будут передаваться в запросе на создание транзакции на Сервисе Подписи.
Пример:
## подпись пакета документов или подпись пакета хэш-значений
Add-DssStsConverterPlugin -FileExtension bse -Assembly DSS.DocumentConverter.LargeDocPreprocessor.dll -Classname DSS.DocumentConverter.LargeDocPreprocessor.LargeDocPreprocessor -Parameters @{"MultiDoc"="true"}
## подпись хэш значения
Add-DssStsConverterPlugin -FileExtension hse -Assembly DSS.DocumentConverter.LargeDocPreprocessor.dll -Classname DSS.DocumentConverter.LargeDocPreprocessor.LargeDocPreprocessor -Parameters @{"MinimalDocSize"="0"}