...
Параметр | Описание | |
---|---|---|
-algorithm | Алгоритм шифрования | |
-pkeyopt | Настройки алгоритма (размер ключа, тип эллиптической кривой, и т.д.). Задает для параметра алгоритма Может быть использован несколько раз, если у алгоритма есть несколько изменяемых параметров. Например:
| |
-out | Название файла, в который будет записана ключевая пара. По умолчанию создается в том же каталоге, откуда была вызвана команда. Чтобы сохранить файл в другой каталог, укажите в параметре
|
Генерация ключевой пары ГОСТ в файл
...
Работа с подписью в формате CMS
Создание подписи
Для создания CMS-подписи необходимо иметь сертификат. В тестовых целях в Рутокен SDK предоставлены настройки удостоверяющего центра OpenSSL, который позволяет выпускать сертификаты.
Для того, чтобы создать CMS-подпись с помощью предоставленного УЦ:
Tip |
---|
По умолчанию команда
|
Для создания CMS-подписи необходимо иметь сертификат. В тестовых целях в Рутокен SDK предоставлены настройки удостоверяющего центра OpenSSL, который позволяет выпускать сертификаты.
Для того, чтобы создать CMS-подпись с помощью предоставленного УЦ:
- Скачайте Рутокен SDK и распакуйте архив.
- Из распакованного архива скопируйте папку
sdk\openssl\samples\tool\demoCA
и конфигурационный файлopenssl.cnf
в папку с OpenSSL. - Выполните команду:
openssl ca -batch -in req.csr -out cert.cer
- Создайте CMS-подпись:
- Скачайте Рутокен SDK и распакуйте архив.
- Из распакованного архива скопируйте папку
sdk\openssl\samples\tool\demoCA
и конфигурационный файлopenssl.cnf
в папку с OpenSSL. - Выполните команду:
Создайте CMS-подпись:openssl ca -batch -in req.csr -out cert.cer
Tip По умолчанию создается открепленная подпись (подпись, которая сохраняется в отдельный файл), а сертификат подписанта включается в состав CMS-пакета. Изменить это поведение можно с помощью двух опциональных параметров:
-nodetach
включает подписываемые данные в состав CMS-пакета и создает присоединенную подпись:- с помощью ключа в файле:
openssl cms -sign -binary -nosmimecap -in data_to_sign -out signed_cms -outform PEM -inkey privatekey.pem -signer cert.cer
- с помощью ключа на Рутокене:
openssl cms -sign -binary -nosmimecap -in data_to_sign -out signed_cms -outform PEM -keyform engine -inkey "pkcs11:your_pkcs11_uri" -engine rtengine -signer cert.cer
-nocerts
исключает сертификат подписанта из состава CMS-пакета....
Info | ||
---|---|---|
| ||
При расшифровании сообщения вырабатывается общий симметричный ключ. Этот же ключ используется при расшифровке. Рутокен позволяет генерировать такой общий ключ только на неизвлекаемых закрытых ключах с опцией
|
Формат команды:
openssl cms -encrypt -binary -<cipher> -in data_to_ |
Описание параметров:
...
По умолчанию, входное сообщение конвертируется в канонический формат, который использует CR и LF в качестве знака перевода строки (в соответствии со по спецификацией S/MIME). Параметр -binary
отключает эту конвертацию.
...
Алгоритм шифрования. Возможные значения зависят от типа ключа.
Для ключей ГОСТ и rtengine версии 0.7:
gost28147-paramset_a-cfb
— алгоритм, который работает в режиме гаммирования с обратной связью с набором параметров А.
Для ключей ГОСТ и rtengine версии новее 0.7:
...
encrypt -out encrypted_cms -outform DER|PEM|SMIME respondent.cer |
Описание параметров:
Параметр | Описание |
---|---|
-encrypt | Тип операции (зашифрование) |
-binary | По умолчанию, входное сообщение конвертируется в канонический формат, который использует CR и LF в качестве знака перевода строки (в соответствии со по спецификацией S/MIME). Параметр |
-<cipher> | Алгоритм шифрования. Возможные значения зависят от типа ключа. Для ключей ГОСТ и rtengine версии 0.7 |
...
Для RSA и ECDSA ключей:
aes128
— AES-128;aes192
— AES-192;aes256
— AES-256;des
— DES;des3
— Triple DES (3DES)
...
Формат CMS-структуры.
Значение по умолчанию: SMIME
...
respondent.cer:
сертификат адресата, для которого шифруется сообщение.
Где alg
может принимать значения:
...
:
|
...
|
...
Для ключей ГОСТ и rtengine версии новее 0.7 |
...
:
|
...
Для RSA и ECDSA ключей: |
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
| |
-in | Входное сообщение, которое нужно зашифровать |
-out | Название файла, в который будет сохранено зашифрованное сообщение |
-outform | Формат CMS-структуры. Значение по умолчанию: SMIME |
respondent.cer | Cертификат адресата, для которого шифруется сообщение |
Расшифрование на стороне адресата
...