Показать/Скрыть содержание

    Типы данных REST-интерфейса КриптоПро SVS

    SignedDocument

    Объект содержит документ, ЭП которого необходимо проверить, и другие параметры запроса проверки подписи.

    Поле Тип Описаниe
    SignatureType SignatureType Формат подписи проверяемого документа. Обязательный параметр.
    Source byte[] Исходный документ. Используется только для проверки подписи формата GOST3410 и отделенной подписи форматов CMS и CAdES.
    Certificate byte[] Сертификат подписанта. Используется только для проверки подписи формата GOST3410.
    Content byte[] Подписанный документ или значение подписи для проверки. Обязательный параметр.
    VerifyParams Dictionary<VerifyParams, string> Словарь дополнительных параметров проверки подписи. Необязательный параметр.
    CertVerifiersPluginsIds List<int> Список идентификаторов плагинов для дополнительных проверок сертификата, используемого при подписи.
    Если CertVerifiersPluginsIds не передан в запросе или явно указан как NULL, то при проверке будут использоваться плагины, у которых CheckByDefaultRequired = true.
    Если CertVerifiersPluginsIds проинициализирован, то для проверки будут использованы плагины с указанными идентификаторами. Если список пустой — дополнительная проверка не выполняется.

    VerifyPackageRequest

    Модель данных запроса пакетной проверки подписи. Аналогична SignedDocument, но предполагает, что содержимое документов будет передано через multipart-form.

    Поле Тип Описаниe
    SignatureType SignatureType Формат подписи проверяемого документа.
    Certificate byte[] Сертификат подписанта. Используется только для проверки подписи формата GOST3410.
    VerifyParams Dictionary<VerifyParams, string> Словарь дополнительных параметров проверки подписи. Необязательный параметр.
    CertVerifiersPluginsIds List<int> Список идентификаторов плагинов для дополнительных проверок сертификата, используемого при подписи.
    Если CertVerifiersPluginsIds не передан в запросе или явно указан как NULL, то при проверке будут использоваться плагины, у которых CheckByDefaultRequired = true.
    Если CertVerifiersPluginsIds проинициализирован, то для проверки будут использованы плагины с указанными идентификаторами. Если список пустой — дополнительная проверка не выполняется.

    VerifyPackageRawRequest

    Модель данных с данными запроса на пакетную проверку подписи. В отличие от VerifyPackageRequest содержит в себе содержимое всех документов.

    Поле Тип Описаниe
    Documents List<VerifiedDocumentInfo> Список сведений о документах, подпись (подписи) которых необходимо проверить.
    CustomParams VerifyPackageRequest Данные запроса на пакетную проверку подписи.

    VerifiedDocumentInfo

    Объект содержит информацию о документе, подпись (подписи) которого необходимо проверить.

    Поле Тип Описаниe
    DocumentName string Имя документа.
    DocumentContent byte[] Содержимое документа в виде массива байт.

    Certificate

    Объект содержит информацию о сертификате, статус которого необходимо проверить.

    Поле Тип Описаниe
    Content byte[] Сертификат.
    CertVerifiersPluginsIds List<int> Список идентификаторов плагинов для дополнительных проверок сертификата, используемого при подписи.
    Если CertVerifiersPluginsIds не передан в запросе или явно указан как NULL, то при проверке будут использоваться плагины, у которых CheckByDefaultRequired = true.
    Если CertVerifiersPluginsIds проинициализирован, то для проверки будут использованы плагины с указанными идентификаторами. Если список пустой — дополнительная проверка не выполняется.
    VerifyParams Dictionary<VerifyParams, string> Словарь дополнительных параметров. Используется только для передачи информации о флаге IncludeChain. Остальные параметры в случае их наличия будут проигнорированы. Необязательный параметр.

    VerificationResult

    Объект содержит информацию о результате проверки ЭП или сертификата одного элемента в пакете.

    Поле Тип Описаниe
    Message string Суммарная информация о результатах проверки подписи.
    Result bool Результат проверки подписи или сертификата.
    SignerCertificate byte[] Сертификат подписи.
    SignerCertificateInfo Dictionary<CertificateInfoParams, string> Набор сведений о сертификате подписанта.
    SignatureInfo Dictionary<SignatureInfoParams, String> Дополнительные сведения о подписи.
    AdditionalCertificateResult List<CertificateVerificationResult> Сведения о дополнительных проверках сертификата.
    AdditionalCertificatesInfo List<Dictionary<CertificateInfoParams, string>> Сведения о других сертификатах.
    Details Details Дополнительные сведения о проверке подписи или сертификата.
    AdditionalInfo List<String> Дополнительные сведения о проверке подписи. Например, о проверке доказательств ее подлинности или о соответствии сложному формату.

    Details

    Объект может содержать дополнительные сведения о проверке подписи или сертификата в зависимости от запрошенной информации. Например, при проверке подписи в данный объект может быть помещена дополнительная информация как о подписи, так и о соответствующем сертификате (цепочке сертификатов).

    Поле Тип Описаниe
    SignatureResult SignatureResult Информация о проверке подписи.
    CertificateResult CertificateResult Информация о проверке сертификата (цепочки сертификатов) и/или о соответствии определенному формату подписи.

    SignatureResult

    Объект содержит подробные данные о результате проверки математической корректности подписи и корректности синтаксиса ASN.1.

    Поле Тип Описаниe
    Result bool Результат дополнительной проверки математической корректности подписи и корректности синтаксиса ASN.1.
    Error Error Информация об ошибке. При отсутствии ошибок ("Result": true) равен null.

    Коды ошибок проверки подписи

    Код ошибки Описаниe Имя ошибки HResult
    0x80090006 Подпись недействительна. NTE_BAD_SIGNATURE
    0x80096010 Цифровая подпись объекта не проверена. TRUST_E_BAD_DIGEST
    0x80091007 Некорректное значение хэша. CRYPT_E_HASH_VALUE
    0x8009310B Встречено неверное значение тега АСН.1. CRYPT_E_ASN1_BADTAG

    Error

    Объект содержит информацию об ошибке, произошедшей в процессе проверки подписи и/или сертификата.

    Поле Тип Описаниe
    ErrorCode int Код ошибки.
    ErrorMessage String Описание ошибки.

    CertificateResult

    Объект содержит подробные данные о результатах проверки сертификата (цепочки сертификатов) и/или соответствия формату подписи.

    Поле Тип Описаниe
    Result bool Результат проверки сертификата (цепочки сертификатов) и/или соответствия формату подписи.
    Errors List<Error> Список ошибок проверки сертификата (цепочки сертификатов) или соответствия формату подписи. При отсутствии ошибок ("Result": true) равен null.

    Коды ошибок проверки сертификата

    Код ошибки Описание Доп. информация об ошибке
    0x80096004 Не удается проверить подпись сертификата HResult: TRUST_E_CERT_SIGNATURE
    Статус цепочки: NotSignatureValid
    Флаг: CERT_TRUST_IS_NOT_SIGNATURE_VALID
    0x80096004 Не удается проверить подпись сертификата HResult: TRUST_E_CERT_SIGNATURE
    Статус цепочки: CtlNotSignatureValid
    Флаг: CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID
    0x800B0109 Цепочка сертификатов обработана, но обработка прервана на корневом сертификате, у которого отсутствует отношение доверия с поставщиком доверия HResult: CERT_E_UNTRUSTEDROOT
    Статус цепочки: UntrustedRoot
    Флаг: CERT_TRUST_IS_UNTRUSTED_ROOT
    0x800B010A Не удается построить цепочку сертификатов для доверенного корневого центра HResult: CERT_E_UNTRUSTEDROOT
    Статус цепочки: PartialChain
    Флаг: CERT_TRUST_IS_PARTIAL_CHAIN
    0x80092010 Сертификат был отозван HResult: CRYPT_E_REVOKED
    Статус цепочки: Revoked
    Флаг: CERT_TRUST_IS_REVOKED
    0x800B0110 Данный сертификат не подходит для такого использования HResult: CERT_E_WRONG_USAGE
    Статус цепочки: NotValidForUsage
    Флаг: CERT_TRUST_IS_NOT_VALID_FOR_USAGE
    0x800B0110 Данный сертификат не подходит для такого использования HResult: CERT_E_WRONG_USAGE
    Статус цепочки: CtlNotValidForUsage
    Флаг: CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE
    0x800B0101 Истек/не наступил срок действия требуемого сертификата при проверке по системным часам или по отметке времени в подписанном файле HResult: CERT_E_EXPIRED
    Статус цепочки: NotTimeValid
    Флаг: CERT_TRUST_IS_NOT_TIME_VALID
    0x800B0101 Истек/не наступил срок действия требуемого сертификата при проверке по системным часам или по отметке времени в подписанном файле HResult: CERT_E_EXPIRED
    Статус цепочки: CtlNotTimeValid
    Флаг: CERT_TRUST_CTL_IS_NOT_TIME_VALID
    0x800B0114 Сертификат имеет недопустимое имя. Такое имя не включается в список разрешенных или явно исключенных HResult: CERT_E_INVALID_NAME
    Статус цепочки: InvalidNameConstraints
    Флаг: CERT_TRUST_INVALID_NAME_CONSTRAINTS
    0x800B0114 Сертификат имеет недопустимое имя. Такое имя не включается в список разрешенных или явно исключенных HResult: CERT_E_INVALID_NAME
    Статус цепочки: HasNotSupportedNameConstraint
    Флаг: CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT
    0x800B0114 Сертификат имеет недопустимое имя. Такое имя не включается в список разрешенных или явно исключенных HResult: CERT_E_INVALID_NAME
    Статус цепочки: HasNotDefinedNameConstraint
    Флаг: CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT
    0x800B0114 Сертификат имеет недопустимое имя. Такое имя не включается в список разрешенных или явно исключенных HResult: CERT_E_INVALID_NAME
    Статус цепочки: HasNotPermittedNameConstraint
    Флаг: CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT
    0x800B0114 Сертификат имеет недопустимое имя. Такое имя не включается в список разрешенных или явно исключенных HResult: CERT_E_INVALID_NAME
    Статус цепочки: HasExcludedNameConstraint
    Флаг: CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT
    0x800B0113 Сертификат содержит недопустимую политику HResult: CERT_E_INVALID_POLICY
    Статус цепочки: InvalidPolicyConstraints
    Флаг: CERT_TRUST_INVALID_POLICY_CONSTRAINTS
    0x800B0113 Сертификат содержит недопустимую политику HResult: CERT_E_INVALID_POLICY
    Статус цепочки: NoIssuanceChainPolicy
    Флаг: CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY
    0x800B0113 Расширение основных ограничений сертификата не были просмотрены HResult: TRUST_E_BASIC_CONSTRAINTS
    Статус цепочки: InvalidBasicConstraints
    Флаг: CERT_TRUST_INVALID_BASIC_CONSTRAINTS
    0x800B0102 Периоды сроков действия цепочки сертификатов вложены неверно HResult: CERT_E_VALIDITYPERIODNESTING
    Статус цепочки: NotTimeNested
    Флаг: CERT_TRUST_IS_NOT_TIME_NESTED
    0x800092012 Функция отзыва не смогла произвести проверку отзыва для сертификата HResult: CRYPT_E_NO_REVOCATION_CHECK
    Статус цепочки: RevocationStatusUnknown
    Флаг: CERT_TRUST_REVOCATION_STATUS_UNKNOWN
    0x800092013 Невозможно проверить функцию отзыва, т.к. сервер отзыва сертификатов недоступен HResult: CRYPT_E_REVOCATION_OFFLINE
    Статус цепочки: OfflineRevocation
    Флаг: CERT_TRUST_IS_OFFLINE_REVOCATION
    0x8000B0105 Сертификат содержит неизвестное расширение, помеченное как критическое HResult: CERT_E_CRITICAL
    Статус цепочки: HasNotSupportedCriticalExtension
    Флаг: CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT
    0x8000B0105 Сертификат содержит неизвестное расширение, помеченное как критическое HResult: CERT_E_CRITICAL
    Статус цепочки: InvalidExtension
    Флаг: CERT_TRUST_INVALID_EXTENSION
    0x8000B0111 Сертификат был явно помечен пользователем как ненадежный. HResult: TRUST_E_EXPLICIT_DISTRUST
    Статус цепочки: ExplicitDistrust
    Флаг: CERT_TRUST_IS_EXPLICIT_DISTRUST
    0x80094016 Алгоритм подписи или длина ключа сертификата не соответствуют минимальным требованиям безопасности HResult: CERTSRV_E_WEAK_SIGNATURE_OR_KEY
    Статус цепочки: HasWeakSignature
    Флаг: CERT_TRUST_HAS_WEAK_SIGNATURE
    0x801F0005 Дополнительные проверки сертификата подписанта завершились с ошибкой HResult: SVS_E_ADDITIONAL_CHECK_ERROR
    Примечание

    Список ошибок может включать в себя ошибки с дублирующимися кодами (например, несколько ошибок с кодом 0x801F0005 при выполнении дополнительных проверок сертификата).

    Примечание

    Код ошибки 0x801F0005 означает, что ошибка возникла при выполнении дополнительных проверок сертификата. В случае если в конфигурации КриптоПро SVS параметр IgnoreCertAdditionalChecks имеет значение true, ошибки в результате дополнительных проверок сертификата НЕ будут добавлены в список.

    VerificationResultPackage

    Объект содержит результат проверки подписи пакета документов.

    Поле Тип Описаниe
    Results List<VerifiedDocument> Список сведений о документах в пакете.
    ResultsReportBase64 String Отчет о проверке подписи пакета документов в формате Base64. Результат будет возвращен только при наличии в запросе VerifyPackageRequest в параметре Dictionary<VerifyParams, string> флага VerifyReport.

    VerifiedDocument

    Объект содержит сведения о проверяемом документе в пакете.

    Поле Тип Описаниe
    SignedDocumentName String Имя подписанного документа (или файла подписи, если проверяется отсоединенная CMS-подпись)
    OriginalDocumentName String Имя исходного документа (при проверке отсоединенной CMS-подписи).
    SignatureType SignatureType SignatureType
    VerificationTime DateTime Дата и время проверки, представленные в международном формате даты и времени (см. ISO 8601-1:2019).
    VerificationResults List<VerificationResult> Результат проверки подписи одного документа в пакете.
    SignatureDocumentHash byte[] Хэш-значение подписанного документа, исходного документа или файла подписи (для отсоединенной CMS-подписи), вычисленная с использованием алгоритма ГОСТ Р 34.11-2012 с длиной ключа 256 бит.

    VsPolicy

    Объект содержит политику Сервиса Проверки Подписи.

    Поле Тип Описаниe
    SignatureDescriptions List<SignatureTypeDescription> Форматы подписи, которые можно проверить.
    CertificateVerifiers List<CertificateVerifier> Зарегистрированные плагины для дополнительных проверок сертификатов.
    ChainInclusionHint Bool Информационное поле, указывающее прикладной системе (например, Веб-интерфейсу SVS), включена ли по умолчанию в ответ цепочка сертификатов для проверяемой подписи/сертификата.

    CertificateVerificationResult

    Сведения о дополнительных проверках сертификата.

    Поле Тип Описаниe
    AssemblyName string Имя плагина, реализующего дополнительные проверки сертификата.
    PluginDescription string Описание плагина, реализующего дополнительные проверки сертификата.
    bResult bool Результат проверки сертификата.
    ErrorsList List<string> Список ошибок при проверке сертификата.

    SignatureTypeDescription

    Объект содержит описание поддерживаемых форматов подписи.

    Поле Тип Описаниe
    SignatureType SignatureType Формат подписи.
    FileExtensions IList<string> Связанные с форматом подписи расширения файлов.

    SignersInfo

    Объект содержит сведения обо всех подписантах, а также дополнительную информацию о подписанном документе.

    Поле Тип Описаниe
    SignerInfoList IList<SignerInfo> Информация о найденных подписях.
    AdditionalInfo AdditionalSignedDocumentInfo Дополнительная информация о подписанном документе.

    SignerInfo

    Класс описывает информацию о подписи в документе.

    Поле Тип Описаниe
    Id string Идентификатор узла подписи.
    ParentId string Идентификатор родительского узла подписи.
    Index int Порядковый номер узла подписи. Порядковый номер начинается с 1.
    SignerCertificateInfo Dictionary<CertificateInfoParams, string> Отображаемые данные о сертификате.

    AdditionalSignedDocumentInfo

    Поле Тип Описаниe
    Content byte[] Содержимое присоединенной подписи в формате CMS.

    CertificateVerifier

    Поле Тип Описаниe
    ID int Идентификатор плагина.
    ClassName string Имя класса, который реализует интерфейс ISVSCertificateVerifier.
    AssemblyName string Полный путь до файла со сборкой плагина.
    В качестве значения данного параметра можно указать полный путь до файла со сборкой, либо только имя dll-файла сборки, если плагин находится в следующей директории: <Путь установки>\Plugins\CertificatesVerifiers.
    PluginDescription string Описание плагина, которое отображается на Веб-интерфейсе Сервиса Проверки Подписи.
    CheckByDefaultRequired bool Использовать ли по умолчанию плагин для проверки сертификата.
    Parameters Dictionary<string, string> Дополнительные настройки плагина.
    В начало © ООО "КРИПТО-ПРО", 2000–2025