Signer - утилита в составе основного серверного компонента Avanpost FAM Server, предназначенная для централизованной подписи сообщений, отправляемых FAM Server, и проверки подписей сообщений, получаемых FAM Server.
Утилита устанавливается на машине с Avanpost FAM Server и лицензией КриптоПро CSP, позволяя отказаться от отдельной установки утилиты КриптоПро CSP на каждый экземпляр Avanpost FAM Server. Для упрощенных конфигураций Avanpost FAM, состоящих из одного экземпляра Avanpost FAM Server, утилита Signer является встроенной. Утилита Signer поставляется в архиве Avanpost FAM Server.
Signer представляет собой отдельный gRPC-сервис, работающий со следующими процедурами:
- Sign – Подпись сообщения;
- Verify – Проверка подписи сообщения.
Утилита Signer используется для подписи/проверки сообщений, отправляемых посредством механизмов:
- Avanpost FAM;
- ЕСИА.
Поддерживаются следующие реализации компонента КриптоПро CSP для работы с CMS (Cryptographic Message Syntax):
- dummy (возвращает всегда одну и ту же подпись, верифицирует любую подпись);
- cprocsp_cms (Крипто ПРО, требует значения параметров:
certPath, sha1Thumbprint, containerPIN
); - cprocsp_raw (Крипто ПРО, требует значения параметров:
certPath, containerName, containerPIN
).
Список крипто-провайдеров может быть расширен посредством добавления новых реализаций при помощи интерфейса `signer.cryptoProvider`.
Настройка конфигурационного файла Signer
Перед началом работы утилиты Signer на машине, где установлена лицензионная утилита КриптоПро CSP, следует корректно настроить конфигурационный файл config.signer.sample.toml
(расположен в директории /signer
):
Параметр | Описание |
---|---|
[grpc] | |
| Хост, на котором развернут Signer. |
| Порт, на котором развернут Signer. |
| Тип сети. |
| Флаг, указывающий, следует ли использовать TLS для защищенного соединения. |
| Путь к сертификату, необходимому для установки TLS-соединения. |
| Путь к файлу закрытого ключа для установки TLS-соединения. |
[cproCsp] | |
| Директория, в которой расположены программные компоненты КриптоПро CSP. |
Пример конфигурационного файла config.signer.sample.toml:
[grpc] host = "0.0.0.0" port = 9017 network = 'tcp' useTls = false certPath = '/cert.pem' keyPath = '/key.pem' [cproCsp] binDir = '/opt/cryptoPro/bin'
Настройка конфигурационного файла Avanpost FAM Server
Для корректной работы утилиты Signer требуется осуществить дополнительную настройку конфигурационного файла Avanpost FAM Server config.toml
в соответствии со следующими параметрами:
Параметр | Описание |
---|---|
| Хост, на котором развернут Signer. |
| Порт, на котором развернут Signer. |
| Флаг, указывающий, следует ли использовать TLS для защищенного соединения. |
| Путь к сертификату удостоверяющего центра, необходимому для установки TLS-соединения. |
Пример настройки конфигурационного файла:
json "signer": { "host": "0.0.0.0", "port": 9017, "useTls": true, "caCertPath": "путь к сертификату/develop-ca-cert.pem" },
Управление сертификатами
Для управления сертификатами следует пользоваться нижеприведенными командами.
Пример команды генерации сертификата электронной подписи (ЭП) с помощью КриптоПро CSP:
/opt/cprocsp/bin/amd64/cryptcp -createcert -provtype 80 -hashalg 1.2.643.7.1.1.2.2 -rdn 'CN=esiacert' -exprt -cont '\\.\HDIMAGE\esiacert'
Команда просмотр списка сертификатов в хранилище сертификатов КриптоПро CSP:
/opt/cprocsp/bin/amd64/certmgr -list
Пример команды экспорта сертификата из хранилища сертификатов КриптоПро CSP:
/opt/cprocsp/bin/amd64/certmgr -export -dest devcert.cer -thumbprint db9de1fb52bec8336c534f7edaa53156059e2050