You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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


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

Запускаем утилиту pkcs11-tool, библиотеку указываем через параметр --module

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


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”)


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



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



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х объектов


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:         313233

 Usage:      verify

Private Key Object; GOSTR3410

 PARAMS OID: 06072a850302022301

 label:

 ID:         313233

 Usage:      sign, derive

Certificate Object; type = X.509 cert

 label:      Rutoken Plugin

 ID:         313233



  • No labels