Versions Compared

Key

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

...

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

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

...

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
cd C:\Program Files\OpenSC Project\OpenSC\tools>

Получаем список объектов
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678

Меняем CKA_ID открытого ключа
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678 -y pubkey -d "6ab7135ee3d85b2f74eadcc92c82e71e62bc0c25" -e "123"

Меняем CKA_ID закрытого ключа
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678 -y privkey -d "6ab7135ee3d85b2f74eadcc92c82e71e62bc0c25" -e "123"

Меняем CKA_ID сертификата
pkcs11-tool.exe --module C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin 12345678 -y cert -d "6ab7135ee3d85b2f74eadcc92c82e71e62bc0c25" -e "123"

Например, мы считаем что “011111” это плохой 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

...

)

...


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

...

...

pkcs11-tool

...

.exe --module

...

C:\Windows\System32\rtPKCS11ECP.dll -O -l --pin

...

12345678

...