Настройка проверки подписи пакета документов
КриптоПро SVS поддерживает возможность проверки подписи пакета документов как при помощи собственного веб-интерфейса, так и при помощи программного интерфейса.
Пакетная проверка подписи не требует отдельных настроек и работает по умолчанию после развертывания и настройки КриптоПро SVS. Тем не менее, необходимо учитывать следующие настройки, которые могут влиять на работу пакетной проверки подписи.
- Регистрация расширений файлов подписи, соответствующих формату подписи.
- Ограничения максимального размера пакета документов.
- Шаблон отчета.
Регистрация расширений файлов подписи
Данная настройка позволяет КриптоПро SVS определять формат подписи на основании расширений загруженных файлов. При пакетной проверке подписи необходимо соблюдать следующие правила:
- Для одного формата подписи допускается указание нескольких расширений файлов.
- Все файлы в отправленном на проверку пакете должны иметь подпись одного и того же формата.
- Расширения файлов в пакете могут быть различными, но из списка зарегистрированных расширений для данного формата подписи.
Пример регистрации распространенных расширений для файлов подписи формата CMS:
Set-VsSignatureFormat -Format CMS -IsEnabled 1 -Extensions sig, p7s, sign, *
Restart-VsInstance
При необходимости список расширений можно увеличить.
Настройка ограничения размера пакета документов
По умолчанию КриптоПро SVS обрабатывает запросы размером не более 5Mb. Для пакетной проверки подписи необходимо увеличить допустимый максимальный размер запроса.
Пример команды для увеличения размера запроса до ~60Mb:
Set-VsEndpointGlobalSettings -DisplayName Verify -MaxMessageSize 60000000
Restart-VsInstance
При необходимости ограничения могут быть увеличены.
Настройка шаблона отчета
Шаблон отчета представляет собой пару следующих документов:
- Шаблон-контейнер - представляет собой Word-документ (.docx).
- Шаблон результатов проверки - представляет собой XSL-преобразование (XSL Transform, XSLT).
Примечание
В комплект поставки КриптоПро SVS входят подготовленные шаблоны отчетов. Данные
шаблоны находятся в папке C:\Program Files\Crypto Pro\DSS\VerificationService\
. Не рекомендуется
изменять имя и расположение файлов шаблонов для корректной работы КриптоПро SVS.
Примеры команд для настройки шаблонов:
Set-VsProperties -WordFilePath "C:\Program Files\Crypto Pro\DSS\VerificationService\smp_template.docx"
Set-VsProperties -XsltFilePath "C:\Program Files\Crypto Pro\DSS\VerificationService\smp_xslt.xslt"
Restart-VsInstance
Шаблон-контейнер определяет фиксированные части отчета: колонтитул, заголовки, нумерацию страниц и т.п.
Единственное требование к шаблону-контейнеру – наличие метки для размещения результатов проверки пакета документов. Метка представляет собой текст следующего вида:
<data>
При формировании отчета метка будет замещена результатом проверки пакета документов.
Шаблон результатов проверки представляет собой XSL-преобразование (XSL Transform, XSLT). Результатом применения XSLT должен быть HTML-документ.
Внутренним представлением результатов проверки является XML-документ (см. пример ниже). Данный результат проверки передается на вход XSL-преобразования.
Внутреннее представление результатов проверки
<?xml version="1.0" encoding="utf-8"?>
<VerifiedDocuments>
<VerifiedDocument>
<SignedDocumentName value="C:\\Users\\grand.CP\\Documents\\Мои полученные файлы\\CoSign.CfgMdag.txt.sig"/>
<OriginalDocumentName value="C:\\Users\\grand.CP\\Documents\\Мои полученные файлы\\CfgMdag.txt"/>
<DocumentHash value="015B6A8BFF05A372D5F1C334FDE6328AC573FBFF42AE0D4DD2692F0BA5663716"/>
<Signatures>
<Signature>
<Verification>
<Result value="Подпись верна" isValid="true"/>
<Time value="31.03.2021 15:31:10"/>
<FailReason value=""/>
<SignatureType value="CMS"/>
</Verification>
<SignerCertificate>
<SubjectName value="CN=xmv"/>
<IssuerName value="CN="Тестовый подчиненный УЦ ООО "КРИПТО-ПРО" ГОСТ 2012 (УЦ 2.0)", O="ООО "КРИПТОПРО", STREET=ул. Сущёвский вал д. 18, L=Москва, S=77 Москва, C=RU, ИНН=007717107991, ОГРН=1037700085444, E=info@cryptopro.ru"/>
<NotAfter value="2021-06-17T09:45:18"/>
<NotBefore value="2021-03-17T09:35:18"/>
<SerialNumber value="0257516F00EEAC3DB7411D538AB0D163B5"/>
<Thumbprint value="4354F70131F32CF7C3800510DB45907E61837A80"/>
</SignerCertificate>
<ExtendedData>
<Data key="Время подписи" value="23.03.2021 14:32:15"/>
<Data key="Формат подписи CAdES" value="Подпись в формате BES"/>
</ExtendedData>
</Signature>
<Signature>
<Verification>
<Result value="Подпись неверна" isValid="false"/>
<Time value="31.03.2021 15:31:10"/>
<FailReason value="Не удалось проверить подпись CAdES-BES. Ошибка: [Истек/не наступил срок действия требуемого сертификата при проверке по системным часам или по отметке времени в подписанном файле]. Код: [0x800b0101].Не удалось построить цепочку для сертификата, на ключе которого подписано сообщение."/>
<SignatureType value="CMS"/>
</Verification>
<SignerCertificate>
<SubjectName value="CN=xmv"/>
<IssuerName value="CN="Тестовый подчиненный УЦ ООО "КРИПТО-ПРО" ГОСТ 2012 (УЦ 2.0)", O="ООО "КРИПТОПРО", STREET=ул. Сущёвский вал д. 18 , L=Москва, S=77 Москва, C=RU, ИНН=007717107991, ОГРН=1037700085444, E=info@cryptopro.ru"/>
<NotAfter value="2021-01-22T17:30:15"/>
<NotBefore value="2020-10-22T17:20:15"/>
<SerialNumber value="02CA04EF005CAC969B4B802D4E59F47391"/>
<Thumbprint value="E315C7688CD84863568DE670D982B3C505588F4D"/>
</SignerCertificate>
<ExtendedData>
<Data key="Время подписи" value="01.11.2020 20:33:36"/>
<Data key="Формат подписи CAdES" value="Подпись в формате BES"/>
</ExtendedData>
</Signature>
</Signatures>
</VerifiedDocument>
<VerifiedDocument>
<SignedDocumentName value="C:\\Users\\grand.CP\\Documents\\Мои полученные файлы\\CfgMdag.txt.sig"/>
<OriginalDocumentName value="C:\\Users\\grand.CP\\Documents\\Мои полученные файлы\\CfgMdag.txt"/>
<DocumentHash value="76534BE4F8E14AA4795FD5E1FD7F566DD7237F6A0BDCAD81BE9FC22CA40C90F0"/>
<Signatures>
<Signature>
<Verification>
<Result value="Подпись неверна" isValid="false"/>
<Time value="31.03.2021 15:31:10"/>
<FailReason value="Не удалось проверить подпись CAdES-BES. Ошибка: [Истек/не наступил срок действия требуемого сертификата при проверке по системным часам или по отметке времени в подписанном файле]. Код: [0x800b0101].Не удалось построить цепочку для сертификата, на ключе которого подписано сообщение."/>
<SignatureType value="CMS"/>
</Verification>
<SignerCertificate>
<SubjectName value="CN=xmv"/>
<IssuerName value="CN="Тестовый подчиненный УЦ ООО "КРИПТО-ПРО" ГОСТ 2012 (УЦ 2.0)", O="ООО "КРИПТОПРО", STREET=ул. Сущёвский вал д. 18, L=Москва, S=77 Москва, C=RU, ИНН=007717107991, ОГРН=1037700085444, E=info@cryptopro.ru"/>
<NotAfter value="2021-01-22T17:30:15"/>
<NotBefore value="2020-10-22T17:20:15"/>
<SerialNumber value="02CA04EF005CAC969B4B802D4E59F47391"/>
<Thumbprint value="E315C7688CD84863568DE670D982B3C505588F4D"/>
</SignerCertificate>
<ExtendedData>
<Data key="Время подписи" value="01.11.2020 20:33:36"/>
<Data key="Формат подписи CAdES" value="Подпись в формате BES"/>
</ExtendedData>
</Signature>
</Signatures>
</VerifiedDocument>
</VerifiedDocuments>