30.3. Хранение сертификата на смарт-карте
Этот раздел описывает конфигурацию смарт-карты с помощью инструмента pkcs15-init
, который поможет Вам настроить:
- Стирание Вашей смарт-карты
- Установка новых PIN-кодов и опциональных PIN-кодов разблокирующих ключей (PUK)
- Создание нового слота на смарт-карте
- Хранение сертификата, личного ключа и открытого ключа в слоте
- Блокировка настроек смарт-карты (некоторые смарт-карты требуют такого типа окончательной доработки)
Предпосылки
Установлен пакет
opensc
, который включает в себя инструментpkcs15-init
.Подробности см. в разделе Установка инструментов для управления и использования смарт-карт.
- Карта вставляется в считывающее устройство и подключается к компьютеру.
-
У Вас есть личный ключ, открытый ключ и сертификат для хранения на смарт-карте. В этой процедуре
testuser.key
,testuserpublic.key
иtestuser.crt
- это имена, используемые для личного ключа, открытого ключа и сертификата. - PIN-код пользователя Вашей текущей смарт-карты и PIN-код сотрудника службы безопасности (SO-PIN)
Процедура
Сотрите Вашу смарт-карту и подтвердите свою подлинность с помощью PIN-кода:
$ pkcs15-init --erase-card --use-default-transport-keys Using reader with a card: Reader name PIN [Security Officer PIN] required. Please enter PIN [Security Officer PIN]:
Карта стерта.
Произведите инициализацию смарт-карты, установите PIN-код пользователя и PUK, а также PIN-код сотрудника службы безопасности и PUK:
$ pkcs15-init --create-pkcs15 --use-default-transport-keys \ --pin 963214 --puk 321478 --so-pin 65498714 --so-puk 784123 Using reader with a card: Reader name
Инструмент
pcks15-init
создает новый слот на смарт-карте.Установите метку и идентификатор аутентификации для слота:
$ pkcs15-init --store-pin --label testuser \ --auth-id 01 --so-pin 65498714 --pin 963214 --puk 321478 Using reader with a card: Reader name
Метка устанавливается на читаемое человеком значение, в данном случае
testuser
. Меткаauth-id
должна иметь два шестнадцатеричных значения, в данном случае она установлена на01
.Храните и наклейте личный ключ в новом слоте на смарт-карте:
$ pkcs15-init --store-private-key testuser.key --label testuser_key \ --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name
ПримечаниеЗначение, которое Вы указываете для
--id
, должно быть одинаковым при хранении Вашего личного ключа и сертификата. Если Вы не указываете значение для--id
, то инструмент вычисляет более сложное значение, поэтому проще определить собственное значение.Хранить и маркировать сертификат в новом слоте на смарт-карте:
$ pkcs15-init --store-certificate testuser.crt --label testuser_crt \ --auth-id 01 --id 01 --format pem --pin 963214 Using reader with a card: Reader name
(Дополнительно) Храните и наклейте открытым ключом в новом слоте на смарт-карте:
$ pkcs15-init --store-public-key testuserpublic.key --label testuserpublic_key --auth-id 01 --id 01 --pin 963214 Using reader with a card: Reader name
ПримечаниеЕсли публичный ключ соответствует личному ключу и/или сертификату, Вы должны указать тот же ID, что и личный ключ и/или сертификат.
(Необязательно) Некоторые смарт-карты требуют, чтобы Вы закончили работу с картой, заблокировав настройки:
$ шт. 15-разрядный -F
На этом этапе Ваша смарт-карта включает в себя сертификат, частный ключ и открытый ключ в только что созданном слоте. Вы также создали пользовательский PIN-код и PUK, а также PIN-код и PUK сотрудника службы безопасности.