Ошибка: Не удалось получить сертификат / ГОСТ сертификаты не найдены / Список сертификатов пуст
Warning |
---|
УТМ не запускается. в логах ошибка: |
Info |
---|
Для работы с ЕГАИС в ключах в атрибуте CKA_ID должны содержаться только печатные символы. Несмотря на то, что наличие непечатных символов в CKA_ID не нарушает стандарт PKCS#11, если ключи содержат хотя бы один непечатный символ в CKA_ID, УТМ не будет запускаться. Для исправления CKA_ID в уже сгенерированном сертификате можно использовать эту инструкцию. |
Tip | ||
---|---|---|
| ||
Для решения проблемы выполните следующие действия: 1) Проверьте, что к компьютеру подключен только один Рутокен 2) Скачайте архив с утилитой и разархивируйте его 3) Запустите утилиту для исправления CKA_ID 4) Повторите попытку входа в ЛК ЕГАИС Если у вас остались вопросы, обратитесь в службу технической поддержки - наши специалисты с удовольствием помогут вам убрать символы, мешающие входу. |
Expand | ||||
---|---|---|---|---|
| ||||
4. В папке C:\Windows\System32 находим библиотеку rtPKCS11ECP.dll 5. Выберите пункт меню "Token" - "Login" - "User login..." 6. Введите PIN-код пользователя (по умолчанию - 12345678) и нажмите "ОК" 7. Выберите вкладку "Certificates", нажмите правой кнопкой мыши на сертификате ГОСТ - "Edit attributes..." 8. Выделите атрибут "CKA_ID" и нажмите кнопку "Edit" 9. Нам надо найти непечатные символы, исправить иди удалить их.
10. В этом примере только один непечатный символ 04 - мы меняем его на 24. Затем нажимаем "ОК" 11. В следующем окне нажимаем кнопку "Close" 12. Теперь переходим на вкладку "Keys" - находим "Private key", относящийся к ГОСТ сертификату и нажимаем на него правой кнопкой мыши - "Edit attributes" Повторяем с приватным ключом действия, описанные в пунктах 8 - 11 13. Находим "Public key", относящийся к ГОСТ сертификату и нажимаем на него правой кнопкой мыши - "Edit attributes" Повторяем с приватным ключом действия, описанные в пунктах 8 - 11 14. После выполненных действий запустите УТМ - Запуск УТМ должен завершиться успехом. |
Исправление CKA_ID
Нужен пакет opensc и библиотека rtpkcs11ecp (из драйверов или из комплекта разработчика)
Запускаем утилиту pkcs11-tool, библиотеку указываем через параметр --module
Параметр -О дает нам список объектов, -l указывает, что нужен логин, а в --pin передаем пин-код
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х объектов
...