Skip to end of metadata
Go to start of metadata

Исправление CKA_ID в сертификате ЕГАИС

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

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


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

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

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


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


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

cd C:\Program Files\OpenSC Project\OpenSC\tools

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

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 открытого ключа

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

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

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

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

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


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

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