Versions Compared

Key

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

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


Warning

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

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



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

...

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

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

Устанавливаем https://github.com/OpenSC/OpenSC/wiki

Находим C:\Program Files\OpenSC Project\OpenSC\tools

пользователя


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

...

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

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

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

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

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

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

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

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

-d старый CKA_ID

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


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

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

...

011111" -e "

...

022222"

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

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

...

011111" -e "

...

022222"

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

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

...

011111" -e

...

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

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

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

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

-d старый CKA_ID

...

 "022222"


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

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