SUPPORT-8592. Настройка cp_file перенесена из [sign] в [main]
This commit is contained in:
parent
9e85e4e8de
commit
473a009905
7 changed files with 24 additions and 23 deletions
|
|
@ -46,8 +46,9 @@ cmake -DCONFIG_NAME=/opt/ervu-sign-module.conf ..
|
|||
|
||||
Приложение настраивается в конфигурационном файле, заданном на этапе сборки (по умолчанию, /etc/ervu-sign-module.conf).
|
||||
|
||||
- В секции **\[main\]** задать количество воркеров
|
||||
worker_processes = 10 *\# значение по умолчанию: 10*
|
||||
- В секции **\[main\]** задать общие настройки:
|
||||
worker_processes = 10 *\# количество воркеров (значение по умолчанию: 10)*
|
||||
cp_file = libcapi20.so *\# путь до файла библиотеки криптопровайдера*
|
||||
|
||||
- В секции **\[fcgi\]** задать настройки fcgi-сервера:
|
||||
fcgi_listen_port = 9009 *\# значение по умолчанию: 9009, должно совпадать со значением в nginx.conf*
|
||||
|
|
@ -56,7 +57,6 @@ fcgi_thread_pool_size = 1 *\# значение по умолчанию: 1*
|
|||
|
||||
- В секции **\[sign\]** задать настройки модуля подписания:
|
||||
location = /sign *\# значение по умолчанию: /sign, должно совпадать со значением в nginx.conf*
|
||||
cp_file = libcapi20.so *\# путь до файла библиотеки криптопровайдера*
|
||||
signer_subject = signer@example.ru *\# email, ИНН, СНИЛС или любая другая строка из свойства контейнера «Субъект»*
|
||||
pin = \*\*\*\* *\# пароль от контейнера*
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
[main]
|
||||
#worker_processes = 10
|
||||
cp_file = /opt/cprocsp/lib/amd64/libcapi20.so
|
||||
|
||||
[fcgi]
|
||||
fcgi_listen_port = 9009
|
||||
|
|
@ -8,6 +9,5 @@ fcgi_listen_host = 127.0.0.1
|
|||
|
||||
[sign]
|
||||
#location = /sign
|
||||
cp_file = /opt/cprocsp/lib/amd64/libcapi20.so
|
||||
signer_subject = signer@example.ru
|
||||
pin = ****
|
||||
|
|
|
|||
|
|
@ -3,8 +3,9 @@
|
|||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define MAIN_CONF_SECTION "main"
|
||||
#define MAIN_CONF_KEY_WORKER_PROCESSES "worker_processes"
|
||||
#define MAIN_CONF_SECTION "main"
|
||||
#define MAIN_CONF_KEY_WORKER_PROCESSES "worker_processes"
|
||||
#define MAIN_CONF_KEY_CP_FILE "cp_file"
|
||||
|
||||
/* default configuration values: */
|
||||
static const int FCGI_CONF_DEFAULT_WORKER_PROCESSES = 10;
|
||||
|
|
@ -40,6 +41,14 @@ main_conf_load(main_conf_t* conf, const char *filename, const conf_file_context_
|
|||
CONF_FILE_VALUE_POSITIVE_INT,
|
||||
&FCGI_CONF_DEFAULT_WORKER_PROCESSES
|
||||
},
|
||||
{
|
||||
MAIN_CONF_SECTION,
|
||||
MAIN_CONF_KEY_CP_FILE,
|
||||
&(conf->cp_file),
|
||||
CONF_FILE_VALUE_STRING,
|
||||
CONF_FILE_VALUE_NONE,
|
||||
NULL
|
||||
},
|
||||
};
|
||||
|
||||
if (conf_file_load_values(conf_file, fields, sizeof(fields) / sizeof(conf_file_field_t))) {
|
||||
|
|
@ -70,6 +79,7 @@ main_conf_clear(main_conf_t* conf)
|
|||
return;
|
||||
}
|
||||
|
||||
free(conf->cp_file);
|
||||
free(conf->conf_file);
|
||||
memset(conf, 0, sizeof(main_conf_t));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
typedef struct main_conf_s {
|
||||
int worker_processes;
|
||||
char *cp_file; /* файл криптопровайдера */
|
||||
char *conf_file;
|
||||
} main_conf_t;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#define SIGN_CONF_SECTION "sign"
|
||||
#define SIGN_CONF_KEY_LOCATION "location"
|
||||
#define SIGN_CONF_KEY_CP_FILE "cp_file"
|
||||
#define SIGN_CONF_KEY_SIGNER "signer_subject"
|
||||
#define SIGN_CONF_KEY_PIN "pin"
|
||||
|
||||
|
|
@ -64,14 +63,6 @@ sign_conf_load(sign_conf_t *conf, const conf_file_context_t conf_file)
|
|||
CONF_FILE_VALUE_LOCATION,
|
||||
&SIGN_CONF_DEFAULT_LOCATION
|
||||
},
|
||||
{
|
||||
SIGN_CONF_SECTION,
|
||||
SIGN_CONF_KEY_CP_FILE,
|
||||
&(conf->cp_file),
|
||||
CONF_FILE_VALUE_STRING,
|
||||
CONF_FILE_VALUE_NONE,
|
||||
NULL
|
||||
},
|
||||
{
|
||||
SIGN_CONF_SECTION,
|
||||
SIGN_CONF_KEY_SIGNER,
|
||||
|
|
@ -116,7 +107,6 @@ sign_conf_clear(sign_conf_t *conf)
|
|||
str_t_clear(&conf->pin);
|
||||
|
||||
str_t_clear(&conf->location);
|
||||
free(conf->cp_file);
|
||||
free(conf->signer);
|
||||
|
||||
memset(conf, 0, sizeof(sign_conf_t));
|
||||
|
|
@ -135,11 +125,6 @@ sign_service_create(const sign_conf_t *conf)
|
|||
|
||||
hsign->conf = conf;
|
||||
|
||||
if (!cryptopro_init(conf->cp_file)) {
|
||||
LOG_ERROR("Could not init Cryptographic Provider");
|
||||
goto error;
|
||||
}
|
||||
|
||||
cryptopro_context_set(&hsign->cryptopro_ctx, conf->signer, &conf->pin);
|
||||
|
||||
LOG_TRACE("sign_service_create exit");
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ typedef struct sign_service_t* HSign;
|
|||
typedef struct sign_conf_s {
|
||||
str_t location;
|
||||
|
||||
char *cp_file; /* файл криптопровайдера */
|
||||
|
||||
char *signer; /* субъект контейнера */
|
||||
str_t pin; /* pin-код от контейнера */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#include "service_manager.h"
|
||||
|
||||
#include "utils/cryptopro.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
|
|
@ -217,6 +219,11 @@ init_services(service_manager_t* services, const service_manager_conf_t* service
|
|||
goto error;
|
||||
}
|
||||
|
||||
if (!cryptopro_init(services_cf->main_cf.cp_file)) {
|
||||
LOG_ERROR("Could not init Cryptographic Provider");
|
||||
goto error;
|
||||
}
|
||||
|
||||
services->hsign = sign_service_create(&services_cf->sign_cf);
|
||||
if (services->hsign == NULL) {
|
||||
goto error;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue