Данные о подписываемом/расшифровываемом документе (Document)
Данные для подписания, усовершенствования, расшифрования или зашифрования документа передаются в структуре Document в метод /documents
Поле | Тип | Описание |
---|---|---|
Content | string | Документ (в кодировке Base64) |
Name | string | Название документа |
Signature | DocumentSignature | Информация о подписи документа. |
Encryption | DocumentEncryption | Информация о параметрах шифрования документа. |
Decryption | DocumentDecryption | Информация о параметрах расшифрования документа. |
Hash | DocumentHash | Информация о параметрах хэширования документа. |
Параметры подписи (DocumentSignature)
Поле | Тип | Описание |
---|---|---|
Type | SignatureType | Тип подписи |
Parameters | Dictionary<SignatureParams, string> | Дополнительные параметры подписи |
CertificateId | int | Идентификатор сертификата |
PinCode | string | Пин-код для доступа к закрытому ключу сертификата |
Параметры зашифрования (DocumentEncryption)
Поле | Тип | Описание |
---|---|---|
Type | EncryptionType | Тип шифрования. |
Parameters | Dictionary<string, string> | Дополнительные параметры шифрования. Список доступных параметров можно найти здесь. |
Certificates | List<byte[]> | Список сертификатов получателей. |
Параметры расшифрования (DocumentDecryption)
Поле | Тип | Описание |
---|---|---|
Type | EncryptionType | Тип шифрования. |
CertificateId | int | Идентификатор сертификата получателя. |
PinCode | string | ПИН-код для доступа к закрытому ключу сертификата. |
Параметры хэширования (DocumentHash)
Поле | Тип | Описание |
---|---|---|
Parameters | Dictionary<SignatureParams, string> | Параметры хэширования |
В словаре необходимо передать значение ключа HashAlgorithm
, которое может принимать значения:
- GOST R 34.11-94
- GR 34.11-2012 256
- GR 34.11-2012 512
- SHA-1
- SHA-256
- SHA-384
- SHA-512
- MD5
Параметры подписи документа
Имя | Значение | Описание |
---|---|---|
SignatureType (r) | CAdES | Подпись формата CAdES-BES, CAdES-T, CAdES-X Long Type 1 |
CMS | Подпись формата CAdES-BES | |
Подпись PDF документов | ||
MSOffice | Подпись документов MS Word и Excel | |
XMLDSig | Подпись документа в формате XMLDSig | |
GOST3410 | Электронная подпись по ГОСТ Р 34.10 - 2001 или ГОСТ Р 34.10 - 2012 | |
CertificateId (r) | Идентификатор сертификата подписи | |
DocumentInfo (o) | Сведения о документе. Например, имя файла | |
DocumentType (o) | Тип документа. Параметр используется для визуализации документа |
Типы подписи
Имя | Код | Значение |
---|---|---|
XMLDSig | 0 | Подпись документа в формате XMLDSig |
GOST3410 | 1 | Электронная подпись по ГОСТ Р 34.10 - 2001 или ГОСТ Р 34.10 - 2012 |
CAdES | 2 | Подпись формата CAdES-BES, CAdES-T, CAdES-X Long Type 1 |
3 | Подпись PDF документов | |
MSOffice | 4 | Подпись документов MS Word и Excel |
CMS | 5 | Подпись формата CAdES-BES |
Обычно в параметре DocumentType указывают расширение подписываемого файла. Допустим также любой другой строковый идентификатор. С данным идентификатором должен быть связан плагин для отображения документов на сервере DSS.
В зависимости от выбранного формата подписи необходимо указать сопутствующие параметры.
При подписи без подтверждения вторым фактором аутентификации параметры передаются в поле Parameters
структуры Document.
При подписи с подтверждением вторым фактором аутентификации параметры передаются в поле Parameters
структуры Transaction.
Внимание!
Имена параметров, которые передаются в поле Parameters
регистрозависимы.
Подпись формата CAdES или CMS
Имя | Значение | Описание |
---|---|---|
CADESType | BES (0) | Подпись в формате CAdES-BES |
T (2) | Подпись в формате CAdES-T | |
XLT1 (1) | Подпись в формате CAdES-X Long Type 1 | |
IsDetached (o) | true/false | Отделённая/присоединённая подпись. По умолчанию false |
TSPAddress (r) | Адрес TSP службы (используется только для формата T, XLT1) | |
Hash (o) | true/false | Подпись значения хэш-функции ГОСТ Р 34.11 - 94 В поле Content должно быть передано значение хэш-функции от документа. |
CmsSignatureType (o) | sign | Подпись документа |
cosign | Соподпись документа | |
counterSign | Заверяющая подпись документа | |
ContentEncoding (o) | base64 | Содержимое документа закодировано в Base64 |
binary | Содержимое документа в двоичном представлении | |
OriginalDocument (o) |
Содержимое исходного документа (используется при соподписи подписи).
При создании пакетной отделённой соподписи (как самого документа, так и его хэш-значения) содержимое исходного документа (или его хэш-значение) передаётся через структуру DocumentContent (в поле OriginalContent), параметр OriginalDocument не используется. |
|
SignatureIndex (o) | Индекс подписи, для которой создается заверяющая подпись | |
AuthenticatedAttributes (o) | Аутентифицированные атрибуты CMS подписи.
Значение закодированный в Base64 JSON-словарь строка-строка. Ключ словаря - OID атрибута Значение ключа - закодированное в Base64 значение атрибута. |
|
IncludeCertChain (o) | true/false | Значение, показывающее, необходимо ли прикладывать цепочку сертификатов для сертификата подписи к подписанному документу |
IncludeDocumentName (o) | true/false | Значение, показывающее, необходимо ли включить атрибут с именем файла |
HashAlgorithm (o) | int | Идентификатор алгоритма хэширования. Используется только при подписи по хэш-значению (Hash =true). |
Список поддерживаемых алгоритмов хэширования
Имя | Значение | Описание |
---|---|---|
GOST R 34.11-94 | 32798 | Идентификатор алгоритма хэширования в соответствии с ГОСТ Р 34.11-94. |
GR 34.11-2012 256 | 32801 | Идентификатор алгоритма хэширования в соответствии с ГОСТ Р 34.11-2012, длина выхода 256 бит. |
GR 34.11-2012 512 | 32802 | Идентификатор алгоритма хэширования в соответствии с ГОСТ Р 34.11-2012, длина выхода 512 бит. |
SHA1 | 32772 | Идентификатор алгоритма хэширования SHA-1, длина выхода 160 бит. |
SHA256 | 32780 | Идентификатор алгоритма хэширования SHA-256, длина выхода 256 бит. |
SHA384 | 32781 | Идентификатор алгоритма хэширования SHA-384, длина выхода 384 бит. |
SHA512 | 32782 | Идентификатор алгоритма хэширования SHA-512, длина выхода 512 бит. |
В случае отсутствия параметра IncludeCertChain
в запросе на подпись используется значение этого параметра по-умолчанию, которое может быть назначено при помощи командлета Set-DssProperties
.
Параметр IncludeDocumentName
со значением true добавляет в подписанные атрибуты CMS подписи атрибут с именем файла. Идентификатор атрибута - 1.3.6.1.4.1.311.88.2.1.
Значение атрибута берётся из данных указанных при загрузке документа (параметр filename).
Параметр поддерживается для КриптоПро DSS начиная с версии 2.0.3710.
Подпись формата PDF
Имя | Значение | Описание |
---|---|---|
PDFFormat | CMS (2) | Подпись PDF документов с использованием формата PKCS7 |
CAdEST (0) | Подпись PDF документов с использованием формата CAdES-T | |
CAdES (1) | Подпись PDF документов с использованием формата CAdES-X Long Type 1 | |
PDFReason (r) | Цель подписания документа | |
PDFLocation (r) | Место подписания документа | |
PdfSignatureAppearance (o) | Строковое представление шаблона видимой (отображаемой) PDF-подписи | |
PdfSignatureTemplateId (o) | 1 | Идентификатор шаблона видимой (отображаемой) PDF-подписи Простой текстовый шаблон |
2 | Идентификатор шаблона видимой (отображаемой) PDF-подписи Шаблон с логотипом и текстом |
|
3 | Идентификатор шаблона видимой (отображаемой) PDF-подписи Шаблон в виде изображения |
|
PDFCertificationLevel(o) | Уровень сертификации подписи. Описывает, в зависимости от уровня, тип изменений, которые можно вносить в документ. Возможные значение описаны ниже |
PDFCertificationLevel
NOT_CERTIFIED | Подпись для утверждения |
CERTIFIED_NO_CHANGES_ALLOWED | Сертифицирующая подпись, после сертификации изменения запрещены |
CERTIFIED_FORM_FILLING | Сертифицирующая подпись, после сертифкации разрешено заполнение полей форм и использование цифровых подписей |
CERTIFIED_FORM_FILLING_AND_ANNOTATIONS | Сертифицирующая подпись, после сертификации разрешены комментарии, заполнение полей форм и использование цифровых подписей |
Примечание
При создании видимой (отображаемой) подписи необходимо указание параметров PdfSignatureTemplateId и PdfSignatureAppearance
Подпись формата MS Office
Дополнительные параметры подписи отсутствуют.
Подпись XML-документов
Имя | Значение | Описание |
---|---|---|
XMLDSigType (r) | XMLEnveloped (0) | Вложенная подпись XMLDSig |
XMLEnveloping (1) | Присоединенная подпись XMLDSig | |
XMLTemplate (2) | XMLDSig-подпись по шаблону | |
XAdESType (o) | None (0) | XAdES не используется, будет создана подпись с указанным значением параметра XMLDSigType |
BES (1) | Подпись формата XAdES-BES | |
T (2) | Подпись формата XAdES-T | |
FTSSignature (o) | true/false | Подпись документов ФТС (см. соответствующий раздел в REST API Сервиса Подписи). Используется только при XMLDSigType=XMLTemplate |
TspAddress (o) | string | Адрес TSP-службы. Необходимость явно задавать адрес TSP-службы при создании подписи XAdES-T зависит от настроек Сервиса Подписи. |
Подпись формата ГОСТ Р 34.10
Имя | Значение | Описание |
---|---|---|
Hash | true/false | Подпись значения хэш-функции ГОСТ Р 34.11 В поле документ должно быть передано значение хэш-функции от документа |
HashAlgorithm | int | Идентификатор алгоритма хэширования. |