| conf | ||
| src | ||
| .gitignore | ||
| CMakeLists.txt | ||
| docker-compose.yaml | ||
| Dockerfile.micord | ||
| entrypoint.sh | ||
| ervu-sign-module.service | ||
| README.md | ||
| Инструкция по сборке.md | ||
| Инструкция по установке.md | ||
Краткое описание
Модуль предназначен для подписи данных.
Приложение принимает 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
Сборка из исходников
Инструкции по сборке из исходников см. "Инструкция по сборке.md"
Примечание. Чтобы задать произвольное имя конфигурационного файла, при сборке приложения необходимо задать параметр CONFIG_NAME.
Пример:
cmake -DCONFIG_NAME=/opt/ervu-sign-module.conf ..
Установка
Инструкции по установке см. "Инструкция по установке.md"
Настройка
Приложение настраивается в конфигурационном файле, заданном на этапе сборки (по умолчанию, /etc/ervu-sign-module.conf).
-
В секции [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 = **** # пароль от контейнера