...
- Подключить ключевой носитель к клиентскому узлу.
- Записать на ключевой носитель сертификат и закрытый ключ клиента:
гдеCommand p11tool --login --write --load-certificate="<путь_к_клиентскому_сертификату>" --id=<идентификатор_ключевой_пары> --label="<метка_ключевой_пары>"
p11tool --login --write --load-privkey="<путь_к_клиентскому_закрытому_ключу>" --id=<идентификатор_ключевой_пары> --label="<метка_ключевой_пары>"
- <идентификатор_ключевой_пары> – идентификатор, с которым сертификат и ключ будут храниться на токене;
- <метка_ключевой_пары> – название, с которым сертификат и ключ будут храниться на токене.Предупреждение Перед записью необходимо убедиться, что на токене отсутствуют какие-либо объекты с используемым идентификаторомидентификатором, с которым будут храниться сертификат и ключ.
Пример команд:Command p11tool --login --write --load-certificate="client1.cert.pem" --id=45 --label="mykey"
p11tool --login --write --load-privkey="client1.key.pem" --id=45 --label="mykey"
- Для безопасности удалить файл с закрытым ключом клиента
client1.key.pemиз домашнего каталога пользователя.
Закрытый ключ следует хранить только на ключевом носителе.
...
- Подключить ключевой носитель к клиентскому узлу.
- Создать на токене ключевую пару:
гдеCommand p11tool --login --generate-rsa --bits=<длина_ключа> --id=<идентификатор_ключевой_пары> --label="<метка_ключевой_пары>"
- <длина_ключа> – длина создаваемых ключей в битах.
Если поддерживается токеном, то задать 4096 бит. Иначе задать максимально возможную длину ключей, поддерживаемую токеном;
- <идентификатор_ключевой_пары> – с этим идентификатором ключи будут храниться на токене;
- <метка_ключевой_пары> – с этим названием ключи будут храниться на токене.Предупреждение Перед созданием необходимо убедиться, что на токене отсутствуют какие-либо объекты с используемым идентификатором, с которым будут храниться ключи.
Пример команды:Command p11tool --login --generate-rsa --bits=4096 --id=45 --label="mykey"
- Создать запрос на подписание клиентского сертификата
client1.cert.csr:
гдеCommand openssl req -new -engine pkcs11 -keyform engine -out client1.cert.csr \
-key pkcs11:id="%<идентификатор_ключевой_пары>" \
-subj "/CN=<IP-адрес_клиента>" -addext "subjectAltName=IP.1:<IP-адрес_клиента>"
- <идентификатор_ключевой_пары> – идентификатор, указанный при создании ключевой пары;
- <IP-адрес_клиента> – IP-адрес клиентского узла. - Отправить файл с запросом
client1.cert.csrна узел УЦ.
...