Типовая диагностика и типовые ошибки соединения с HSM 2.0
Опубликовано Санчир Момолдаев on 2019-08-10 07:49

Важное замечание: Если ОС Windows используется в качестве клиента КриптоПро HSM 2.0 и ключ доступа к HSM записан на смарткарте или токене, то не рекомендуется подключение к этой ОС Windows по RDP, поскольку локально подключенные к компьютеру с ОС Windows считыватели смарткарт/токенов не будут доступны в RDP-сессии.

  1. Диагностика соединения с HSM 2.0 
    1. диагностика с помощью telnet или netcat
      доступ к web-странице Администратора:
      telnet <IP HSM> 443
      доступ к каналу К2:
      telnet <IP HSM> 1501
      где <IP HSM> это IP адрес HSM 2.0
      Причина возможного сбоя: HSM в состоянии Inactive, сетевая проблема или не настроены правила FireWall на HSM 2.0
      примечание: на ОС Astra Linux Smolensk 1.5 - 1.6 по умолчанию не установлены пакеты telnet и netcat (можно установить с диска разработчика Astra Linux)
      Пример использования:
      telnet 192.168.26.2 1501
      nc -v 192.168.26.2 1501

    2. диагностика ГОСТ TLS с помощью csptest
      windows : start /b csptest -tlsc -server <IP HSM> -port <PORT> -user <USER> -nocheck -v
      *nix : /opt/cprocsp/bin/АРХИТЕКТУРА/csptestf  -tlsc -server <IP HSM> -port <PORT> -user <USER> -nocheck -v
      где <PORT> это 443 или 1501, <USER> данные из CN сертификата ключа доступа к HSM
      в выводе должна быть строка Handshake was successful
      Пример использования:
      start /b csptest -tlsc -server 192.168.26.2 -port 1501 -user 1054 -nocheck -v 

    3. проверка провайдера
      windows : start /b csptest -enum -provider "Crypto-Pro GOST R 34.10-2012 HSM CSP" -provtype 80 -info для треевого провайдера, для сервисного необходимо в -provider указывать "Crypto-Pro GOST R 34.10-2012 HSM Svc CSP"
      *nix : /opt/cprocsp/bin/АРХИТЕКТУРА/csptestf  -enum -provider "Crypto-Pro GOST R 34.10-2012 HSM CSP" -provtype 80 -info
      должно вернуться [ErrorCode: 0x00000000], иначе см п.2-3
  2. Возможные ошибки при проверке сервисного провайдера (в некоторых случаях, после устранения одной из нижеперечисленных причин, требуется перезапуск службы Крипто Про HSM 2.0 в Windows):
    1. Сервер RPC не доступен
      [ErrorCode: 0x000006ba]

      Причина: не запущена служба Крипто Про HSM 2.0

    2. Указанный тип ресурса в файле образа отсутствует
      [ErrorCode: 0x00000715]
      Причина: нет доступа к закрытому ключу в реестре локального компьютера 
      для х64: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Keys
      для х32: HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Keys

    3. Не удается найти устройство чтения смарт-карт.
      [ErrorCode: 0x8010002e]
      Причина: считыватель отключен или используется RDP

    4. Требуемый адрес для своего контекста неверен
      [ErrorCode: 0x00002741]
      Причина: не указан IP адрес HSM 2.0 в HSM Client

    5. Не удается установить связь с локальной системой безопасности
      [ErrorCode: 0x80090304]
      Причина: на контейнер ключевой пары доступа установлен пин-код отличный от 11111111

    6. Библиотека поставщика проинициализирована неправильно.
      [ErrorCode: 0x8009001d]
      Возможная причина: для подключения используется ключ доступа тип "Пользователь", для сервисного провайдера необходимо использовать ключ доступа тип "Компьютер"

    7. Цепочка сертификатов обработана, но обработка прервана на корневом сертификате, у которого отсутствует отношение доверия с поставщиком доверия.
      [ErrorCode: 0x800b0109]
      Причина: корневой сертификат HSM 2.0 не установлен в хранилище "Доверенные корневые центры сертификации" локального компьютера

    8. Ключ не существует.
      [ErrorCode: 0x8009000d]
      Возможная причина: не понижен уровень контейнера на смарткарте, необходимо протестировать контейнер в Крипто Про CSP
       
    9. Подключение было разорвано и более не может использоваться. Остальные подключения пока действуют.
      [ErrorCode: 0x80010006]
      Причина: у используемого сертификата ключа доступа истек срок действия или сертификат ключа доступа был заменен
  3. Возможные ошибки треевого провайдера и провайдера в *nix
    1. при попытке установить соединение из HSM клиента (в трее), после предложения ввести ПИН-код появляется сообщение
      "CN-имя сертификата не совпадает с полученным значением"
      Причина: не заменен TLS - сертификат Веб-сервера HSM после смены IP адреса HSM
      Решение:
      1)Необходимо перевыпустить веб-сертификат в режиме Active – update keys – tls server key – change TLS key
      2)HSM необходимо переактивировать: Change HSM state – inactive – Full active

    2. на *nix клиенте в логе stunnel имеется строка:
      Error 0x80090304 returned by InitializeSecurityContext
      Возможные причины: закончилась лицензия на Крипто Про CSP или недоступен закрытый ключ ключевой пары доступа

    3. на *nix клиенте при тестировании ГОСТ TLS имеется строка:
      Downgrade container security level?
      Решение: необходимо понизить класс защиты контейнера ключевой пары доступа через тестирование контейнера
      Пример: /opt/cprocsp/bin/amd64/csptest -keys -check -cont '\\.\Gemalto PC Twin Reader\contname' 
  4. Ошибки веб-интерфейса (подключение только через Internet Explorer)
    1. на страничке не работают пункты меню и отображается строка вида: 
      -1 -1 0 0 0 0 0 0 false false false 
      Причина:
      Используется браузер отличный от Internet Explorer или в IP адрес HSM 2.0 не добавлен в "Доверенные узлы" и в "Просмотр в режиме совместимости" браузера Internet Explorer

    2. при генерации ключевой пары доступа через Веб-интерфейс возвращается ошибка:
      Error!!! NTE_FAIL
      Причина: неисправен ДСЧ на клиентской машине. в Крипто Про CSP необходимо удалить все ДСЧ и добавить БиоДСЧ для локализации проблемы аппаратного ДСЧ
(32 плюсик(ов))
Класс!
Не очень :(