...
Компонент | Описание |
---|---|
manufacturer | ID производителя токена |
model | Модель токена |
serial | Серийный номер токена |
token | Метка токена( поле "label") |
object | Имя объекта(CKA_LABEL) |
id | Идентификатор объекта |
Пример идентификатора ключевой пары на токене:
...
|
Пример идентификатора ключевой пары на токене:
pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP;serial=2adc8d87;object=my%20label;id=%aa%bb%cc%dd?pin-value=12345678 |
Если подключен только один Рутокен с единственной ключевой парой, для идентификации можно использовать только модель:
pkcs11:model=Rutoken%20ECP |
Генерация ключевой пары в файл
Формат команды:
|
Если подключен только один Рутокен с единственной ключевой парой, для идентификации можно использовать только модель:
...
Генерация ключевой пары в файл
Формат команды:
|
Описание параметров:
Параметр | Описание | |
---|---|---|
-algorithm | Алгоритм шифрования | |
-pkeyopt | Настройки алгоритма (размер ключа, тип эллиптической кривой, и т.д.). Задает для параметра алгоритма Может быть использован несколько раз, если у алгоритма есть несколько изменяемых параметров. Например:
| |
-out | Название файла, в который будет записана ключевая пара. По умолчанию создается в том же каталоге, откуда была вызвана команда. Чтобы сохранить файл в другой каталог, укажите в параметре
|
Генерация ключевой пары ГОСТ в файл
...
|
Значения параметров:
Параметр | Возможные значения |
---|---|
-algorithm |
|
-pkeyopt |
|
Генерация ключевой пары ECDSA в файл
...
|
Значения параметров:
Параметр | Возможные значения |
---|---|
-algorithm |
|
-pkeyopt |
|
Генерация ключевой пары на Рутокене
...
Описание параметров:
Параметр | Описание | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
--module | Модуль или библиотека PKCS #11, которая будет использована для генерации ключевой пары | |||||||||
--login, -l | Параметр используется, чтобы потребовать аутентификацию на токене перед выполнением операции. Параметр --login не обязателен, если используется параметр --pin | |||||||||
--pin, -p | PIN-код, который будет использован для подтверждения генерации ключевой пары. Использование параметра --pin автоматически включает параметр --login | |||||||||
--keypairgen, -k | Тип операции (генерация новой ключевой пары) | |||||||||
--key-type | Тип и параметры алгоритма шифрования (размер ключа, параметры эллиптической кривой, и т.д.) | |||||||||
--id, -d | Откуда берётся ID? Или он задаётся пользователем самостоятельно? Зачем нужна часть про «использовать этот id через OpenSSL», если тут мы используем pkcs11-tool? ИдентификаторИдентификатор объекта (CKA_ID) в виде двузначных номеров символов в hex из таблицы ASCII.
| |||||||||
--usage-derive | Параметр указывает на то, что на сгенерированном ключе можно вырабатывать общий симметричный ключ, который может использоваться, например, для расшифрования CMS-сообщений. Если шифрование сообщений на генерируемой ключевой паре не планируется, этот параметр можно не использовать. |
...
Пример:
|
...
Параметр | Возможные значения |
---|---|
--module | Для Windows:
Для Linux:
|
--key-type |
|
--id | Нужна ли конвертация в ASCII? |
ГОСТ-ГОСТ-2012
Tip |
---|
Собирайте ветку pkcs11-tool с поддержкой ГОСТ-2012 или используйте релиз OpenSC 0.20.0 или новее. |
Пример:
|
...
Параметр | Возможные значения |
---|---|
--module | Для Windows:
Для Linux:
|
--key-type | Для алгоритма
Для алгоритма
|
--id | Для удобства, можно воспользоваться онлайн-сервисом конвертации ACSII-кодов в строку. Почему выше (и ниже) конвертация строки в коды, а тут кодов в строку? |
или
используйте веб-сервис "Центр регистрации Рутокен"
Для чего?
Генерация ключевой пары ECDSA
Генерация ключевой пары ECDSA
Пример:
Code Block |
---|
pkcs11-tool --module /путь/к/библиотеке/rtPKCS11ECP --login --pin 12345678 --keypairgen --key-type EC:secp256r1 --id 3132 --usage-derive |
...
Параметр | Возможные значения | ||
---|---|---|---|
--module | Для Windows:
Для Linux:
| ||
--key-type | Для Рутокен ЭЦП 3.0 3110 и 3220:
Для Рутокен ЭЦП 3.0 3120:
| ||
--id | Нужна конвертация в ASCII? |
Генерация ключевой Генерация ключевой пары RSA
Пример:
Code Block |
---|
pkcs11-tool --module /путь/к/библиотеке/rtPKCS11ECP --login --pin 12345678 --keypairgen --key-type RSA:2048 --id 3132 |
...
Параметр | Возможные значения | |||
---|---|---|---|---|
--module | Для Windows:
Для Linux:
| |||
--key-type |
Для Рутокен ЭЦП 2.0:
Для Рутокен ЭЦП 3.0:
| Нужна конвертация в ASCII? |
Просмотр объектов на токене
...
- с помощью ключа в файле:
openssl req -utf8 -new -key privatekey.pem -out req.csr
- с помощью ключа на Рутокене:
openssl req -utf8 -new -keyform engine -key "pkcs11:your_pkcs11_uri" -engine rtengine -out req.csr
Формат параметраTip -key
описан в разделе "Использование ключей на Рутокене"
В процессе работы команда попросит ввести PIN-код. После этого потребуется указать данные для сертификата.
Набор вводимой информации при формировании запроса определяется конфигурационным файлом openssl.cnf
. По умолчанию нужно указать следующую информацию:
State or Province []: Moscow
Locality []: RU
Organization Name []: Aktiv Company
Organizational Unit Name []: development
Common Name []: tester
Email []: tester@rutoken.ru
...
заполнить следующие поля: Anchor cert cert
Поле | Описание |
---|---|
| CountryName Страна |
ST | StateOrProvinceName Регион или область |
L | Locality Населенный пункт (город, село, поселок и т.д.) |
O | Organization Название организации |
OU | OrganizationalUnit Название отдела в организации |
CN | CommonName Имя владельца сертификата |
emailAddress | Почтовый адрес владельца сертификата |
Выпуск самоподписанного сертификата по запросу
...
- с помощью ключа в файле:
openssl req -utf8 -x509 -key /путь/к/файлу/privatekey.pem -out cert.cer
- с помощью ключа на Рутокене:
openssl req -utf8 -x509 -keyform engine -key "pkcs11:your_pkcs11_uri" -engine rtengine -out cert.cer -subj "/C=RU/ST=Moscow/L=Moscow/O=Aktiv/OU=devNN/CN=testuser/emailAddress=testuser@mail.com"
Параметры сертификата:
...
C
...
CountryName
Страна
...
StateOrProvinceName
Регион или область
...
Locality
Населенный пункт (город, село, поселок и т.д.)
...
Organization
Название организации
...
OrganizationalUnit
Название отдела в организации
...
CommonName
Имя владельца сертификата
=<страна>/ST=<регион>/L=<населенный_пункт>/O=<организация>/OU=<отдел>/CN=<ФИО>/emailAddress=<email>"
Подробнее параметры сертификата описаны в предыдущем разделе.
...
Работа с подписью в формате CMS
...
Параметр | Описание |
---|---|
-encrypt | Тип операции (зашифрование) |
-binary | По умолчанию, входное сообщение конвертируется в канонический формат, который использует CR и LF в качестве знака перевода строки (в соответствии со по спецификацией S/MIME). Параметр |
-<cipher> | Алгоритм шифрования. Возможные значения зависят от типа ключа. Для ключей ГОСТ и rtengine версии 0.7:
Для ключей ГОСТ и rtengine версии новее 0.7 («0.7 и новее» включительно или не включая 0.7?)+:
Для RSA и ECDSA ключей:
|
-in | Входное сообщение, которое нужно зашифровать |
-out | Название файла, в который будет сохранено зашифрованное сообщение |
-outform | Формат CMS-структуры. Значение по умолчанию: SMIME |
respondent.cer | Cертификат адресата, для которого шифруется сообщение |
...