2024-08-21 12:47:16 +03:00
|
|
|
|
## Краткое описание
|
|
|
|
|
|
|
|
|
|
|
|
Модуль предназначен для подписи данных.
|
|
|
|
|
|
|
|
|
|
|
|
Приложение принимает POST-запрос по протоколу FastCGI (Content-Type: text/plain).
|
|
|
|
|
|
Подписывает строку, полученную в теле запроса.
|
|
|
|
|
|
В ответе возвращает подпись в формате urlSafeBase64 (Content-Type: text/plain).
|
|
|
|
|
|
|
|
|
|
|
|
Пример выполнения запроса:
|
|
|
|
|
|
```
|
|
|
|
|
|
$ curl -v http://127.0.0.1:8080/sign -H "Content-Type: text/plain" -d "test"
|
|
|
|
|
|
* Trying 127.0.0.1:8080...
|
|
|
|
|
|
* Connected to 127.0.0.1 (127.0.0.1) port 8080
|
|
|
|
|
|
> POST /sign HTTP/1.1
|
|
|
|
|
|
> Host: 127.0.0.1:8080
|
|
|
|
|
|
> User-Agent: curl/8.4.0
|
|
|
|
|
|
> Accept: */*
|
|
|
|
|
|
> Content-Type: text/plain
|
|
|
|
|
|
> Content-Length: 4
|
|
|
|
|
|
>
|
|
|
|
|
|
< HTTP/1.1 200 OK
|
|
|
|
|
|
< Server: nginx/1.24.0
|
|
|
|
|
|
< Date: Fri, 16 Aug 2024 07:33:13 GMT
|
|
|
|
|
|
< Content-Type: text/plain
|
|
|
|
|
|
< Transfer-Encoding: chunked
|
|
|
|
|
|
< Connection: keep-alive
|
|
|
|
|
|
<
|
|
|
|
|
|
urlSafeBase64_of_signed_string_test
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2024-09-12 13:35:57 +03:00
|
|
|
|
## Сборка из исходников
|
2024-08-21 12:47:16 +03:00
|
|
|
|
|
2024-09-12 13:35:57 +03:00
|
|
|
|
Инструкции по сборке из исходников см. "Инструкция по сборке.md"
|
2024-08-21 12:47:16 +03:00
|
|
|
|
|
2024-09-12 13:35:57 +03:00
|
|
|
|
Примечание. Чтобы задать произвольное имя конфигурационного файла, при сборке приложения необходимо задать параметр CONFIG_NAME.
|
|
|
|
|
|
Пример:
|
2024-08-21 12:47:16 +03:00
|
|
|
|
```
|
2024-09-12 13:35:57 +03:00
|
|
|
|
cmake -DCONFIG_NAME=/opt/ervu-sign-module.conf ..
|
2024-08-21 12:47:16 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2024-09-12 13:35:57 +03:00
|
|
|
|
## Установка
|
2024-08-21 12:47:16 +03:00
|
|
|
|
|
2024-09-12 13:35:57 +03:00
|
|
|
|
Инструкции по установке см. "Инструкция по установке.md"
|
2024-08-21 12:47:16 +03:00
|
|
|
|
|
2024-09-12 13:35:57 +03:00
|
|
|
|
## Настройка
|
2024-08-21 12:47:16 +03:00
|
|
|
|
|
2024-08-21 14:06:22 +03:00
|
|
|
|
Приложение настраивается в конфигурационном файле, заданном на этапе сборки (по умолчанию, /etc/ervu-sign-module.conf).
|
2024-08-21 12:47:16 +03:00
|
|
|
|
|
|
|
|
|
|
- В секции **\[main\]** задать количество воркеров
|
|
|
|
|
|
worker_processes = 10 *\# значение по умолчанию: 10*
|
|
|
|
|
|
|
|
|
|
|
|
- В секции **\[fcgi\]** задать настройки fcgi-сервера:
|
|
|
|
|
|
fcgi_listen_port = 9009 *\# значение по умолчанию: 9009, должно совпадать со значением в nginx.conf*
|
|
|
|
|
|
fcgi_listen_host = 127.0.0.1 *\# значение по умолчанию: 127.0.0.1, должно совпадать со значением в nginx.conf*
|
|
|
|
|
|
fcgi_thread_pool_size = 1 *\# значение по умолчанию: 1*
|
|
|
|
|
|
|
|
|
|
|
|
- В секции **\[sign\]** задать настройки модуля подписания:
|
|
|
|
|
|
location = /sign *\# значение по умолчанию: /sign, должно совпадать со значением в nginx.conf*
|
|
|
|
|
|
cp_file = libcapi20.so *\# путь до файла библиотеки криптопровайдера*
|
|
|
|
|
|
signer_subject = signer@example.ru *\# email, ИНН, СНИЛС или любая другая строка из свойства контейнера «Субъект»*
|
|
|
|
|
|
pin = \*\*\*\* *\# пароль от контейнера*
|
|
|
|
|
|
|