Javacard J2A040 изменение ключа по умолчанию с помощью скрипта GPShell не работает

Я хочу изменить ключ по умолчанию, но приведенный ниже сценарий на GPShell возвращает 6A80.

mode_211 
enable_trace 
establish_context 
card_connect 
select -AID A000000003000000 
open_sc -scp 2 -scpimpl 0x15 -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494A4B4C4D4E4F -enc_key 404142434445464748494A4B4C4D4E4F // Open secure channel
put_sc_key  -keyver 0 -newkeyver 1 -mac_key 404142434445464748494A4B4C4D4E4E -enc_key 404142434445464748494A4B4C4D4E4E -kek_key 404142434445464748494A4B4C4D4E4E  -current_kek 404142434445464748494A4B4C4D4E4F 
card_disconnect 
release_context

pyResMan

Что не так?

мой J2A040 предварительно персонализирован, но не слит и не защищает.

Спасибо за вашу помощь

2 ответа

put_sc_key  -keyver 0 -newkeyver 1 -mac_key 404142434445464748494A4B4C4D4E4E -enc_key 404142434445464748494A4B4C4D4E4E -kek_key 404142434445464748494A4B4C4D4E4E  -current_kek 404142434445464748494A4B4C4D4E4F

создает новый ключ. Поскольку ключ в наборе ключей версии 1 уже существует, команда не выполняется. Чтобы заменить ключ ключом, используйте этот синтаксис:

put_sc_key  -keyver 1 -newkeyver 1 -mac_key 404142434445464748494A4B4C4D4E4E -enc_key 404142434445464748494A4B4C4D4E4E -kek_key 404142434445464748494A4B4C4D4E4E  -current_kek 404142434445464748494A4B4C4D4E4F

Если это не удастся, мне было бы интересно узнать, работает ли addign для новой версии набора ключей. Попробуйте (добавление набора ключей версии 2):

put_sc_key  -keyver 0 -newkeyver 2 -mac_key 404142434445464748494A4B4C4D4E4E -enc_key 404142434445464748494A4B4C4D4E4E -kek_key 404142434445464748494A4B4C4D4E4E  -current_kek 404142434445464748494A4B4C4D4E4F

Я думаю, что у меня остались некоторые проблемы в коде, сейчас я изучаю это, ваша поддержка может быть здесь полезна. Вы используете последнюю версию двоичных файлов для Windows / Homebrew?

Этот сценарий работает для меня сейчас

mode_211 
enable_trace 
establish_context 
card_connect 
select -AID A000000003000000 
open_sc -scp 2 -scpimpl 0x15 -security 1 -keyind 0 -keyver 0 -key 404142434445464748494A4B4C4D4E4F -mac_key 404142434445464748494A4B4C4D4E4F -enc_key 404142434445464748494A4B4C4D4E4F -kek_key 404142434445464748494A4B4C4D4E4F // Open secure channel
put_sc_key  -keyver 1 -newkeyver 0 -mac_key 404142434445464748494A4B4C4D4E4E -enc_key 404142434445464748494A4B4C4D4E4E -kek_key 404142434445464748494A4B4C4D4E4E  -current_kek 404142434445464748494A4B4C4D4E4F 
card_disconnect 
release_context

С этим:

put_sc_key  -keyver 0 -newkeyver 2 -mac_key 404142434445464748494A4B4C4D4E4E -enc_key 404142434445464748494A4B4C4D4E4E -kek_key 404142434445464748494A4B4C4D4E4E  -current_kek 404142434445464748494A4B4C4D4E4F

Это тоже работает. Но на самом деле я хочу заменить 3 ключа по умолчанию (S-ENC, S-MAC, DEK) и не добавлять новые ключи, теперь у меня есть 3 новых ключа с версией 2, посмотрите на картинку l '.

Картинка из новой версии 2 ключа pyResMan

Теперь как удалить ключи для версии 2

Другие вопросы по тегам