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

Warning

Ключи для ЕГАИС  в поле CKA_ID должны соджержать печатные символы и не должны содержать пустой символ. Иначе УТМ не будет запускаться.

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

Info

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

Для исправления CKA_ID будем использовать утилиту pkcs11-tool, библиотеку rtPKCS11ECP.dll указываем через параметр --module

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

Tip
titleРешение

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

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

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

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

egais_fix_id.zip 

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


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

pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678

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. После выполненных действий запустите УТМ - Запуск УТМ должен завершиться успехом.

Panel
bgColortransparent

1. Открываем Командную строку с правами Администратора

2. Переходим в директорию, где лежит pkcs11-tool.exe

Code Block
cd C:\Program Files\OpenSC Project\OpenSC\tools>

3. Получаем список объектов на токене

Code Block
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678

Посмотрите значение в поле ID

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

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

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

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

-d старый CKA_ID

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

4. Меняем CKA_ID открытого ключа

Code Block
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678 -y pubkey -d "011111" -e "022222"

5. Меняем CKA_ID закрытого ключа

Code Block
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678 -y privkey -d "011111" -e "022222"

6. Меняем CKA_ID сертификата

Code Block
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678 -y cert -d "011111" -e "022222"

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

Code Block