Аутентификация по сертификату (Linux console)

В данном разделе описан процесс аутентификации пользователя на шлюзе NGate по пользовательскому сертификату с использованием консольной утилиты клиента NGate. Рассмотрено три способа аутентификации, в каждом из которых используется одно из свойств пользовательского сертификата.

  1. Запустите консоль.
    CTRL+Левый ALT+F1..F6
  2. Установите корневой сертификат (для подключению к тестовому шлюзу NGate установите сертификат тестового УЦ КриптоПро: https://testgost2012.cryptopro.ru/certsrv/):

    certmgr -inst -store root -file <путь к файлу с сертификатом>

  3. Установите личный сертификат (для подключению к тестовому шлюзу NGate установите пользовательский сертификат тестового УЦ КриптоПро):

    certmgr -inst -file <путь к файлу с сертификатом> -cont <имя контейнера>

  4. При помощи утилит из комплкекта КриптоПро CSP посмотрите список сертификатов для текущего пользователя.
    1. Введите команду вывода информации о сертификатах текущего пользователя с уникальными именами ключевых контейнеров:
      user@astra: /opt/cprocsp/bin/amd64/csptest -keys -enum_c -verifyc -fqcn -uniq
      CSP (Type:80) v5.0.10008 KC1 Release Ver:5.0.11998 OS:MacOS CPU:AMD64 FastCode:READY:DISABLED (RSA; ).
      AcquireContext: OK. HCRYPTPROV: 140397715131427
      \\.\HDIMAGE\sub-sub |\\.\HDIMAGE\HDIMAGE\\sub-sub.000\EFA4
      \\.\HDIMAGE\sslClientGui000001 |\\.\HDIMAGE\HDIMAGE\\sslClien.000\EB2E
      \\.\HDIMAGE\client_cont |\\.\HDIMAGE\HDIMAGE\\clientrc.000\25E0
      OK.
      Total: SYS: 0,030 sec USR: 0,060 sec UTC: 0,420 sec
      [ErrorCode: 0x00000000]
    2. Используйте утилиту для работы с сертификатами, CRL и хранилищами. Введите имя контейнера сертификата, для которого необходимо вывести подробную информацию, имя должно быть заключено в апострофы.
      user@astra: /opt/cprocsp/bin/amd64/certmgr -list -cont '\\.\HDIMAGE\sslClientGui000001'
      Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2020.
      Программа для работы с сертификатами, CRL и хранилищами.
      =============================================================================
      1-------
      Издатель            : OGRN=1234567890123, INN=001234567890, STREET=ул. Сущёвский вал д. 18, C=RU, S=г. Москва, L=Москва, O="ООО ""КРИПТО-ПРО""", CN="Тестовый УЦ ООО ""КРИПТО-ПРО"""
      Субъект             : CN=RR555, O=test, OU=test, C=RU
      Серийный номер      : 0x7C000394F3123EC1DD057A62140001000394F3
      Хэш SHA1            : ae1cc6a8a47cfbaac2095d342ed3340b241cafa0
      Идентификатор ключа : bad26dd65a77c3f9f861d20247b520714dd63372
      Алгоритм подписи    : ГОСТ Р 34.11-2012/34.10-2012 256 бит
      Алгоритм откр. кл.  : ГОСТ Р 34.10-2012 256 бит (512 бит)
      Выдан               : 18/08/2021  11:54:05 UTC
      Истекает            : 18/11/2021  12:04:05 UTC
      Ссылка на ключ      : Сертификат из контейнера. Нет ссылки на ключ
      URL сертификата УЦ  : http://testgost2012.cryptopro.ru/CertEnroll/root2018.crt
      OCSP URL            : http://testgost2012.cryptopro.ru/ocsp2012g/ocsp.srf
      OCSP URL            : http://testgost2012.cryptopro.ru/ocsp2012gst/ocsp.srf
      URL списка отзыва   : http://testgost2012.cryptopro.ru/CertEnroll/!0422!0435!0441!0442!043e!0432!044b!0439%20!0423!0426%20!041e!041e!041e%20!0022!041a!0420!0418!041f!0422!041e-!041f!0420!041e!0022(1).crl
      URL списка отзыва   : http://testgost2012.cryptopro.ru/CertEnroll/testgost2012(1).crl
      Назначение/EKU      : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
      =============================================================================
      
      [ErrorCode: 0x00000000]
    Субъект CN и Хэш SHA1 могут быть использованы для идентификации сертификата клиентом NGate при аутентификации на шлюзе.
  5. Выполните команду подключения к шлюзу NGate по значению поля CN сертификата.
    Пример команды:

    ./ngateconsoleclient -vvvv -C userCN -P 1234 https://ng-test-cert.cryptopro.ru

    Где:
    • -vvvv — команда отображения событий, происходящих при инициализации соединения/работы и степень их детализации;
    • -C userCN — команда подключения по клиентскому сертификату со значением userCN в поле CommonName;
    • -P 1234 — ввод PIN-кода контейнера пользовательского сертификата (1234);
    • https://ngate — адрес шлюза.
  6. Выполните команду подключения к шлюзу NGate по значению SHA1 отпечатка сертификата.
    Пример команды:

    ngateconsoleclient.exe -vvv -H 250372b8c691adfa981969d52dee652dcb0517b5 -P 1234 https://ng-test-cert.cryptopro.ru

    Где:
    • -vvv — команда отображения событий, происходящих при инициализации соединения/работы и степень их детализации;
    • -H 250372b8c691adfa981969d52dee652dcb0517b5 — команда подключения по клиентскому сертификату со значением 250372b8c691adfa981969d52dee652dcb0517b5 отпечатка SHA1;
    • -P 1234 — ввод PIN-кода контейнера пользовательского сертификата (1234);
    • https://ng-test-cert.cryptopro.ru — адрес шлюза.
  7. Выполните команду подключения к шлюзу NGate по уникальному имени ключевого контейнера.
    Пример команды:

    ngateconsoleclient.exe -vvv --containerpath \\.\HDIMAGE\HDIMAGE\\sslClien.001\EB2E -P 1234 https://ng-test-cert.cryptopro

    Где:
    • -vvv — команда отображения событий, происходящих при инициализации соединения/работы и степень их детализации;
    • --containerpath \\.\HDIMAGE\HDIMAGE\\sslClien.001\EB2E — команда подключения по по уникальному имени ключевого контейнера со значением \\.\HDIMAGE\HDIMAGE\\sslClien.001\EB2E;
    • -P 1234 — ввод PIN-кода контейнера пользовательского сертификата (1234);
    • https://ng-test-cert.cryptopro.ru — адрес шлюза.