POST /signatures/verify

Метод позволяет проверить подпись на соответствие файлу.

Заголовки

Название Описание
Authorization Заголовок авторизации
Content-Type Тип контента

Content-Type

Допустимые значения Content-Type:

  • application/json.

Тело запроса

В теле запроса располагается описание контента Content. В описании должны быть указаны контент и список подписей, которые необходимо проверить на соответствие контенту.

Пример

GET /realty/crypto/v2/signatures/verify
Authorization: ReestroAuth apiKey=235dc85c-f7f9-4dc0-8bbf-dad9e0185afd&portal.orgid=1748b89b-7d34-4d47-b479-b06b40ab1a30
Content-Type: application/json
{
  "contentInfo":
  {
    "contentId": "3a8cf2b8-ee9e-47ca-9ff9-75efced2d52e",
    "contentType":"pdf",
    "contentName": "Договор купли-продажи",
    "md5":"7E0D44C48AF788657EA6F5C4C87589E8",
    "size":"1350"
  },
  "signatures":
  [
    {
      "contentId": "c6780dbc-126b-44f6-9f7b-7422609d8ebb",
      "contentType":"sig",
      "md5":"F7415E33F972C03ABD4F3FED36748F7A",
      "size":"1500"
    },
    {
      "contentId": "11e0d594-9734-4b40-9ae3-a6e992de7a4d",
      "contentType":"sig",
      "md5":"874307689e0cfe694a114030ffc05973",
      "size":"1500"
    }    
  ]
}

Ответы

200

Удалось проверить подписи. В теле ответа содержится массив объектов. В каждом объекте содержится результат проверки определнной подписи:

Тело ответа

Название Тип Формат Обязательность Описание
signature object ContentInfo true Описание подписи, которая была проверена
verificationResults array VerificationResult true Результаты проверки подписи

Пример ответа

  HTTP 200
  Content-Type Application/json
  [
    {
      "signature":
      {
         "contentId": "c6780dbc-126b-44f6-9f7b-7422609d8ebb",
         "contentType":"sig",
         "md5":"F7415E33F972C03ABD4F3FED36748F7A",
         "size":"1500"
      },
      "verificationResults":
      [
        {
          "status": "verifyed",
          "signedTime": "2019-05-31T08:12:40Z",
          "certificate":
          {
            "serialNumber": "cb351abb-36fb-43be-9194-639be38b5617",
            "validFrom":"2019-04-31T08:12:40Z",
            "validTo":"2020-04-31T08:12:40Z",
            "subject":
            {
              "name": "Иванов Иван Иванович",
              "inn": "0000000000",
              "snils": "000-000-000 55",
              "address": " RU 66 Свердловская область Хабаровск ул. Новая, д.1",
              "email": "test@domain.com"
            },
            "issuer":
            {
              "name": "Удостоверяющий центр  ЗАО ПФ СКБ Контур",
              "inn": "000000000000",
              "ogrn": "0000000000000",
              "address": " RU 66 Свердловская область Ульяновская 13а",
              "email": "ca@domain.com"    
            }
          }
        }
      ]
    },
    {
      "signature":
      {
         "contentId": "11e0d594-9734-4b40-9ae3-a6e992de7a4d",
         "contentType":"sig",
         "md5":"874307689e0cfe694a114030ffc05973",
         "size":"1500"
      },
      "verificationResults":
      [
        {
          "status": "verifyed",
          "signedTime": "2019-05-31T08:12:40Z",
          "certificate":
          {
            "serialNumber": "8cc8aa7a-ed08-4c45-b760-2b2d93c87931",
            "validFrom":"2019-04-31T08:12:40Z",
            "validTo":"2020-04-31T08:12:40Z",
            "subject":
            {
              "name": "Иванова Ирина Петровна",
              "inn": "0000000000",
              "snils": "000-000-000 53",
              "address": " RU 66 Свердловская область Хабаровск ул. Новая, д.1",
              "email": "iv@domain.com"
            },
            "issuer":
            {
              "name": "Удостоверяющий центр  ЗАО ПФ СКБ Контур",
              "inn": "000000000000",
              "ogrn": "0000000000000",
              "address": " RU 66 Свердловская область Ульяновская 13а",
              "email": "ca@domain.com"    
            }
          }
        }
      ]
    }    
  ]

400

Ошибки валидации запроса. В теле ответа содержится описание ошибки Error. Для данного метода возможны следующие ошибки:

Код ошибки Описание Содержимое контекста
AbsenceOfRequiredField Не указан обязательный реквизит формы
UnexistentContent Не удалось найти указанный контент Описание ненайденного контента ContetnIfo
WrongFieldValue Значение поля не соответствует требуемому формату. Поле, формат которого не соответствует, указано в описании ошибки в message
AbsenceOfRequiredField Не указано одно из обязательных полей

Пример ответа

  HTTP 400
  Content-Type Application/json
  {
      "code": "validation",
      "message": "Failed to validate request",
      "target": "api"
      "errors":
      [
        {
          "code": "DuplicatedExternalId",
          "message": "ExternalId" 978a9fda-e2e8-415d-bf25-31487ffb8bf1 is already in used",
          "target": "CryptoApi"
        }
      ]
  }

401

Ошибка авторизации: пользователь не авторизован

403

Ошибка аутентификации: пользователь не имеет доступа к ресурсам организации, которая указана в заголовке авторизации

415

В заголовке Content-Type указан тип контента, который не поддерживается для данного метода