> For the complete documentation index, see [llms.txt](https://docs.aitu.io/aituapps/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aitu.io/aituapps/aitu-passport/integraciya-s-aitu-passport/podpisanie-dokumentov-ecp/servis-proverki-ecp.md).

# Сервис проверки ЭЦП

В статье приводится описание процесса работы с сервисом (API) проверки ЭЦП, полученной в Aitu Passport, в формате PKSC7 или PDF

Aitu Passport предоставляет инструмент (сервис), с помощью которого приложения Партнера смогут осуществлять проверку ЭЦП, выданной Aitu Passport. Данный сервис устанавливается в контуре работы систем партнера (локально), без необходимости осуществлять проверку через Интернет  с помощью методов Aitu Passport. Сервис позволяет проверить ЭЦП, выданные в формате PKCS7, PDF, XMLDSIG (встроенная подпись и сертификат пользователя прямо в XML файл).

{% hint style="info" %}
Перед началом работ, если вы не знакомы с Docker и работой с томами (volumes), пожалуйста, ознакомьтесь со следующими материалами <https://docs.docker.com/storage/volumes/>&#x20;
{% endhint %}

## Установка сервиса

1. Партнер должен скачать Docker - контейнер сервиса проверки ЭЦП. Скачать Docker - контейнер можно при помощи следующих команд:

```
   docker login registry.supreme-team.tech
   docker pull registry.supreme-team.tech/passport-esign-validation-backend
```

{% hint style="success" %}
Для авторизации в docker registry используйте следующий логин и пароль:

**login**: passport&#x20;

**password**: f+ms1T@%Db\@P
{% endhint %}

2\. Партнер должен на своих ресурсах развернуть образ сервиса проверки ЭЦП. Развернуть образ можно с помощью docker-compose:

```
version: "3"
services:
  btsd-passport-esign-validation:
    image: "registry.supreme-team.tech/passport-esign-validation-backend"
    ports:
      - "8901:8901"
    environment:
      CA_PRODUCTION: true
```

В разделе ports указывается порт, по которому будут доступны методы сервиса. Если нужно развернуть сервис на другом порте, например, 9000, тогда меняем "8901:8901" на "9000:8901".

В разделе environment переменная  `CA_PRODUCTION` определяет сертификат, которым будет проверяться (валидироваться) ЭЦП. Переменная может принимать значение true либо false:

* Если значение переменной `CA_PRODUCTION` равно true, то проверка ЭЦП будет происходить при помощи production сертификата, таким образом, можно проверить ЭЦП, полученные на продакшен площадке Aitu Passport.
* Если значение переменной `CA_PRODUCTION` равно false или переменная отсутствует, то для проверки будет использоваться тестовый сертификат, который можно использовать для проверки ЭЦП, полученных на тестовой площадке Aitu Passport.

3\. После успешной установки образа сервиса ( API см. [тут](https://esign-validation-docs.passport.aitu.io/)), приложениям Партнера будут доступны методы проверки подписи:

* [/v1/signatures/details](https://esign-validation-docs.passport.aitu.io/#operation/getSignatureDetails) - проверка (валидация) ЭЦП в формате PKCS7;
* [/v1/signatures/pdf/details](https://esign-validation-docs.passport.aitu.io/#operation/getPdfSignatureDetails) - проверка (валидация) ЭЦП в формате pdf;
* [/v1/signatures/xml/details](https://esign-validation-docs.passport.aitu.io/#operation/getXmlSignatureDetails) - проверка (валидация) ЭЦП в формате XMLDSIG.

{% hint style="info" %}
Сервис проверки ЭЦП может быть расположен в закрытом контуре, доступ в Интернет не требуется.
{% endhint %}
