Описание

Для работы подходят Рутокен семейства «ЭЦП». Если нужен только RSA — лучше всего брать «Рутокен ЭЦП PKI»

Компания-производитель предоставляет свой драйвер pkcs11. Он более фунционален, чем «штатный» opensc-pkcs11.

Рутокен можно использовать для неизвлекаемого хранения RSA-ключей и использования их для

  • установки соединения средствами openconnect,
  • входа по ключу через ssh,
  • хранения сертификатов,
  • формирования электронной подписи.

Подготовка к работе нового токена

Создание структуры pkcs15

pkcs15-init --create-pkcs15

В процессе можен быть запрошен пин-код администратора. Его стоит запомнить.

Запись пользовательского пин-кода

pkcs15-init --store-pin --label "User PIN" --auth-id 02 --finalize

Генерация ключа с использованием штатного драйвера

pkcs11-tool -l --keypairgen --key-type rsa:2048 -a OpenscTestKey

Генерация с использованием библиотеки Rutoken

pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -l --keypairgen --key-type rsa:2048 -a RutokenTestKey

Точное значение параметров командной строки можно посмотреть командой pkcs11-tool --help

При генерации можно задать id ключа. В этом случае необходимо иметь в виду, что id - это 16-ричное представление строчного идентификатора ключан. В некоторых случаях использования ключа в дальнейшем придется задавить именно строковое представление идентификатора. Поэтому стоит использовать только коды печатных символом.

ssh

Выгрузка публичного ключа для openssh

ssh-keygen -D /usr/lib64/opensc-pkcs11.so > some.key.pub

Для автоматического поиска ключа в токене необходимо добавить в ~/.ssh.config

PKCS11Provider /usr/lib64/opensc-pkcs11.so

openssl

Пример

openssl req -engine pkcs11 -new -key 'pkcs11:id=newkeyset' -keyform engine -out req.pem -text -x509 -subj "/CN=Andreas Jellinghaus"

openconnect

Пример

sudo openconnect -c "pkcs11:model=PKCS%2315;id=newkeyset" --script /etc/openconnect/vpnc-script

Необходимо обратить внимание на URI сертификата, используемого для

Полезные ссылки


Published

Category

Linux

Tags