Versions Compared

Key

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

Ошибка: Не удалось получить сертификат / ГОСТ сертификаты не найдены / Список сертификатов пуст

Warning

УТМ не запускается. в логах ошибка:
ru.centerinform.transport.crypto.SunCryptographer - Не удалось получить сертификат

ru.centerinform.transport.util.a - ГОСТ сертификаты не найдены
java.lang.IllegalStateException: Список сертификатов пуст

Info

Для работы с ЕГАИС в ключах в атрибуте CKA_ID должны содержаться только печатные символы. 

Несмотря на то, что наличие непечатных символов в CKA_ID не нарушает стандарт PKCS#11, если ключи содержат хотя бы один непечатный символ в CKA_ID, УТМ не будет запускаться.

Для исправления CKA_ID в уже сгенерированном сертификате можно использовать эту инструкцию.

Tip
titleРешение

Для решения проблемы выполните следующие действия:

1) Проверьте, что к компьютеру подключен только один Рутокен

2) Скачайте архив с утилитой и разархивируйте его

3) Запустите утилиту для исправления CKA_ID

egais_fix_id.zip 

4) Повторите попытку входа в ЛК ЕГАИС


Если у вас остались вопросы, обратитесь в службу технической поддержки - наши специалисты с удовольствием помогут вам убрать символы, мешающие входу. 

Expand
bgColortransparent
titleИзменение CKA_ID с помощью Pkcs11Admin
Note

Выполняйте описанные ниже действия аккуратно и строго по инструкции. Некоторые функциональные возможности программы могут повредить сертификат ГОСТ.

Помните, что наша служба технической поддержки готова оказать вам помощь в восстановлении работоспособности ключа для ЕГАИС. 


  1. Скачайте архив с программой Pkcs11Admin 
  2. Разархивируйте содержимое и запустите Pkcs11Admin-x64.exe или Pkcs11Admin-x86.exe в зависимости от разрядности вашего компьютера
  3. Нажмите кнопку "Browse..."

Image Added

4. В папке C:\Windows\System32 находим библиотеку rtPKCS11ECP.dll

Image Added

5. Выберите пункт меню "Token" - "Login" - "User login..."

Image Added

6. Введите PIN-код пользователя (по умолчанию - 12345678) и нажмите "ОК"

Image Added

7. Выберите вкладку "Certificates", нажмите правой кнопкой мыши на сертификате ГОСТ - "Edit attributes..."

Image Added

8. Выделите атрибут "CKA_ID" и нажмите кнопку "Edit"

Image Added

9. Нам надо найти непечатные символы, исправить иди удалить их. 

Image Added


Warning

Вы можете указать любое значение из печатных символов, главное, чтобы это значение было установлено у трёх объектов, относящихся к ГОСТ сертификату:

  • Public key (Публичный ключ)
  • Private key (Приватный ключ)
  • Certificate (Сертификат)

10. В этом примере только один непечатный символ 04 - мы меняем его на 24. Затем нажимаем "ОК"

Image Added

11. В следующем окне нажимаем кнопку "Close"

Image Added

12. Теперь переходим на вкладку "Keys" - находим "Private key", относящийся к ГОСТ сертификату и нажимаем на него правой кнопкой мыши - "Edit attributes" 

Повторяем с приватным ключом действия, описанные в пунктах 8 - 11

Image Added

13. Находим "Public key", относящийся к ГОСТ сертификату и нажимаем на него правой кнопкой мыши - "Edit attributes" 

Повторяем с приватным ключом действия, описанные в пунктах 8 - 11

Image Added

14. После выполненных действий запустите УТМ - Запуск УТМ должен завершиться успехом.

Исправление CKA_ID

Нужен пакет opensc и библиотека rtpkcs11ecp (из драйверов или из комплекта разработчика)

Запускаем утилиту pkcs11-tool, библиотеку указываем через параметр --module

Параметр -О дает нам список объектов, -l указывает, что нужен логин, а в --pin передаем пин-код

C:\Program Files\OpenSC Project\OpenSC\tools>pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678

Code Block
MacBook-Kirill:~ m$ pkcs11-tool --module /Library/Aktiv\ Co/Rutoken\ ECP/lib/librtpkcs11ecp.dylib -O -l --pin 12345678

Using slot 0 with a present token (0x0)

Public Key Object; GOSTR3410

 PARAMS OID: 06072a850302022301

 VALUE:      5fe400ff43fb74a9093e60c075d7c1a261da0b7f106144a13b869fc22fb1034e

             f43d02415eebb02b535c344de32a416b30229ec09b52d43c4ccd06cd2b2e9797

 label:

 ID:         011111

 Usage:      verify

Private Key Object; GOSTR3410

 PARAMS OID: 06072a850302022301

 label:

 ID:         011111

 Usage:      sign, derive

Certificate Object; type = X.509 cert

 label:      Rutoken Plugin

 ID:         011111

Например, мы считаем что “011111” это плохой ID и мы хотим его поменять

При этом необходимо сделать так, чтобы все CKA_ID были одинаковые

Нужно выполнить 3 последовательные команды, для закрытого ключа, для открытого и для сертификата

-y тип объекта, сертификат, закрытый ключ, и открытый ключ

-d старый CKA_ID

-e новый CKA_ID (нужно указывать в виде шестнадцатеричных чисел, 31 = это "1”)

Code Block
MacBook-Kirill:~ m$ pkcs11-tool --module /Library/Aktiv\ Co/Rutoken\ ECP/lib/librtpkcs11ecp.dylib -l --pin 12345678 -y cert -d "011111" -e "313233"

Using slot 0 with a present token (0x0)

Result:Certificate Object; type = X.509 cert

 label:      Rutoken Plugin

 ID:         313233
Code Block
MacBook-Kirill:~ m$ pkcs11-tool --module /Library/Aktiv\ Co/Rutoken\ ECP/lib/librtpkcs11ecp.dylib -l --pin 12345678 -y privkey -d "011111" -e "313233"

Using slot 0 with a present token (0x0)

Result:Private Key Object; GOSTR3410

 PARAMS OID: 06072a850302022301

 label:

 ID:         313233

 Usage:      sign, derive
Code Block
MacBook-Kirill:~ m$ pkcs11-tool --module /Library/Aktiv\ Co/Rutoken\ ECP/lib/librtpkcs11ecp.dylib -l --pin 12345678 -y pubkey -d "011111" -e "313233"

Using slot 0 with a present token (0x0)

Result:Public Key Object; GOSTR3410

 PARAMS OID: 06072a850302022301

 VALUE:      5fe400ff43fb74a9093e60c075d7c1a261da0b7f106144a13b869fc22fb1034e

             f43d02415eebb02b535c344de32a416b30229ec09b52d43c4ccd06cd2b2e9797

 label:

 ID:         313233

 Usage:      verify

Теперь снова делаем просмотр объектов и убеждаемся что CKA_ID правильный и одинаковый у всех 3х объектов

Code Block
MacBook-Kirill:~ m$ pkcs11-tool --module /Library/Aktiv\ Co/Rutoken\ ECP/lib/librtpkcs11ecp.dylib -O -l --pin 12345678 Using slot 0 with a present token (0x0) Public Key Object; GOSTR3410  PARAMS OID: 06072a850302022301  VALUE:      5fe400ff43fb74a9093e60c075d7c1a261da0b7f106144a13b869fc22fb1034e              f43d02415eebb02b535c344de32a416b30229ec09b52d43c4ccd06cd2b2e9797  label:  ID:         313233  Usage:      verify Private Key Object; GOSTR3410  PARAMS OID: 06072a850302022301  label:  ID:         313233  Usage:      sign, derive Certificate Object; type = X.509 cert  label:      Rutoken Plugin  ID:         313233