Исправление 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