Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Сертификаты Агента создаются при помощи утилиты IndeedCM.Agent.Cert.Generator.exe, входящей в состав дистрибутива Рутокен KeyBox (располагается в RutokenKeyBox.Server\Misc\AgentCertGenerator).

Tip

Параметры утилиты

Генерация корневого и SSL-сертификата:

/root - генерация корневого сертификата сервисов агента.
/rootKeySize - размер закрытого ключа корневого сертификата сервисов агента (не обязательный параметр, по умолчанию генерируется закрытый ключ размером 4096 бит, возможный диапазон от 512 до 8192 бит).
/sn <DNS-имя сервера> - генерация SSL-сертификата на указанное DNS-имя сервера.
/csn - генерация SSL-сертификата на имя сервера, на котором запущена утилита.
/sslKeySize - размер закрытого ключа SSL-сертификата (необязательный параметр, по умолчанию генерируется закрытый ключ размером 2048 бит, возможный диапазон от 512 до 4096 бит).
/pwd - пароль SSL-сертификата (необязательный параметр).
/installToStore - публикует выпущенные утилитой сертификаты в хранилища сертификатов сервера (необязательный параметр, используется только для ОС Windows):

  • Сертификат CM Agent CA в Доверенные корневые центры сертификации (Trusted Root Certification Authorities).
  • Сертификат CM Agent SSL в хранилище Личных сертификатов рабочей станции, на которой установлен сервер Indeed CMРутокен KeyBox.

Генерация только SSL-сертификата, используя уже выпущенный корневой сертификат CM Agent CA:

/rootKey - путь до файла корневого сертификата сервисов агента.
/ssl - генерация SSL-сертификата сервисов агента.
/sn <DNS-имя сервера> - генерация SSL-сертификата на указанное DNS-имя сервера.
/csn - генерация SSL-сертификата на имя сервера, на котором запущена утилита.
/pwd - пароль SSL-сертификата (необязательный параметр).
/sslKeySize - размер закрытого ключа SSL-сертификата (необязательный параметр, по умолчанию генерируется закрытый ключ размером 2048 бит, возможный диапазон от 512 до 4096 бит).
/installToStore - публикует выпущенный утилитой SSL-сертификат в хранилище Личных сертификатов рабочей станции, на которой установлен сервер системы (необязательный параметр, используется только для ОС Windows).

...

  1. Запустите в командной строке, запущенной от имени администратора, на сервере RutokenKeyBox утилиту IndeedCM.Agent.Cert.Generator.exe c параметрами /root /csn /installToStore.

Пример:

Cm.Agent.Cert.Generator.exe /root /csn /installToStore

  • На ОС Linux:
  1. На сервере Рутокен KeyBox запустите терминал.

  2. Перейдите в директорию с утилитой и измените права на файл, добавив право на выполнение файла Cm.Agent.Cert.Generator:

    sudo chmod +x Cm.Agent.Cert.Generator
  3. Запустите утилиту c параметрами /root /csn и дождитесь завершения её работы.

Пример:

./Cm.Agent.Cert.Generator /root /csn

В каталоге с утилитой появятся файлы:

  • agent_root_ca.json - корневой сертификат сервисов агента с закрытым ключом в формате JSON.
  • agent_root_ca.cer - корневой сертификат сервисов агента.
  • agent_root_ca.key - закрытый ключ корневого сертификата сервисов агента.
  • agent_ssl_cert.cer - SSL-сертификат сайта сервисов агента.
  • agent_ssl_cert.key - закрытый ключ SSL-сертификата сайта сервисов агента.
  • agent_ssl_cert.pfx - SSL-сертификат сервисов  агента с закрытым ключом в формате PFX.

Поместите сертификат CM Agent CA (agent_root_ca.cer) в Доверенные корневые центры сертификации (Trusted Root Certification Authorities) на сервере системы. 

Если в вашем окружении используется несколько серверов Indeed CM Рутокен KeyBox с агентами, то для каждого сервера требуется выпустить SSL-сертификат сервисов агента, используя общий корневой сертификат CM Agent CA (корневой сертификат сервисов агента на всех серверах должен быть один и тот же). Для создания SSL-сертификата дополнительного сервера или обновления истекшего сертификата перенесите каталог с утилитой Cm.Agent.Cert.Generator и корневой сертификат сервисов агента с закрытым ключом в формате JSON (agent_root_ca.json) на сервер и выполните команду:

Cm.Agent.Cert.Generator.exe /rootKey <путь к файлу agent_root_ca.json> /ssl /sn <DNS-имя сервера
IndeedCM>
Рутокен KeyBox> /installToStore

Пример запуска утилиты для создания дополнительного или обновление истекшего SSL-сертификата сервисов агента:

ОС Windows:
Cm.Agent.Cert.Generator.exe /rootKey "C:\AgentCertGenerator\agent_root_ca.json" /ssl /sn

indeedcm2

rutokenkeybox2.demo.local /installToStore
 
ОС Linux:
./Cm.Agent.Cert.Generator /rootKey ./agent_root_ca.json /ssl

Настройка защищенного соединения с сайтом сервисов агента

Для ОС Windows

  1. Перейдите в Диспетчер служб IIS (Internet Information Services (IIS) Manager).
  2. Выберите сайт Rutoken KeyBox Agent Site и перейдите в раздел Привязки... (Bindings...).
  3. Выберите привязку по порту 3003.
  4. Нажмите Изменить... (Edit...).
  5. Укажите в качестве SSL-сертификата сертификат CM Agent SSL или другой SSL/TLS-сертификат, выпущенный с любого доверенного УЦ в инфраструктуре на имя сервера системы и нажмите OK.

...

  1. Скопируйте созданный утилитой SSL-сертификат сайта агентских сервисов и его приватный ключ в соответствующие хранилища на сервере Indeed CMРутокен KeyBox, а также корневой сертификат Агента в хранилище доверенных корневых сертификатов:
    Пример:

    sudo cp ./agent_ssl_cert.cer /etc/ssl/certs/
    sudo cp ./agent_ssl_cert.key /etc/ssl/private/
    sudo cp ./agent_root_ca.cer /usr/local/share/ca-certificates/

  2. Запустите команду обновления хранилища доверенных корневых сертификатов:
    sudo update-ca-certificates
  3. Укажите пути до сертификата и закрытого ключа в конфигурационном файле используемого web-сервера в разделе, описывающем сайт сервисов агента.      
Expand
titleПример конфигурационного файла web-сервера Nginx:

server {
        listen              3003 ssl;
        server_name         redos.demo.local;
  
        ssl_certificate     "/etc/ssl/certs/indeedcmrutokenkeybox.demo.local_ssl_cert.cer";
        ssl_certificate_key "/etc/ssl/private/indeedcmrutokenkeybox.demo.local_ssl_cert.key";
        ssl_verify_client   optional_no_ca;
          
        location /agentregistrationapi
             {   include /etc/nginx/conf.d/proxy.conf; 
                proxy_pass http://localhost:5006/agentregistrationapi;  }
        location /agentserviceapi     
         {   include /etc/nginx/conf.d/proxy.conf; 
                proxy_pass http://localhost:5007/agentserviceapi; 
                proxy_set_header x-ssl-client-cert $ssl_client_escaped_cert;  }
    }
}

Note

Порт 3003 используется по умолчанию. Если вы используете другой порт, то создайте и настройте новую привязку для него. Убедитесь в том, что порт открыт для входящих подключений в брандмауэре.

В качестве SSL/TLS-сертификата допускается использование RSA-сертификата, выпущенного c любого доверенного УЦ на имя сервера Рутокен KeyBox.

  • Субъект (Subject) сертификата должен содержать атрибут Общее имя (Common name) (FQDN сервера системы).
  • Дополнительное имя субъекта (Subject Alternative Name) сертификата должно содержать атрибут DNS-имя (DNS Name) (FQDN сервера системы).
    Например: rutokenkeybox.demo.local или соответствующую запись с подстановочными знаками, например: *. demo.local (Wildcard certificate).
  • Улучшенный ключ (Enhanced Key Usage) сертификата должен содержать значение Проверка подлинности сервера (Server Authentication).