...
pkcs11-tool.exe --module rtPKCS11ECP.dll --login --pin 12345678 --keypairgen --key-type GOSTR3410-2012-256:B --id 31323132 --usage-derive
pin
: PIN-код Рутокена
id
: идентификатор объекта (CKA_ID) в виде двузначных номеров символов в hex из таблицы ASCII.
Чтобы использовать этот id через OpenSSL надо использовать символы, соответствующие этим кодам.
Например: для ‘--id 3132
’ в OpenSSL надо указывать "pkcs11:id=12
".
Для удобства, можно воспользоваться онлайн-сервисом конвертации ACSII-кодов в строку.
usage-derive
: флаг указывающей, что на сгенерированном указанном ключе можно вырабатывать общий симметричный ключ, который может использоваться, например, для расшифрования cms сообщений.
Если вы не планируйте шифровать на сообщения на генерируемой ключевой паре, то этот флаг можно убрать.
GOSTR3410-2012-512:A
: ‘A’ - парамсет, может быть так же B или С,
...
openssl dgst -keyform engine -verify "pkcs11:your_pkcs11_uri" -engine rtengine -signature signature test_data
Шифрование в формате CMS
Info | ||
---|---|---|
| ||
При расшифровании сообщения вырабатывается общий симметричный ключ, который непосредственно и используется при расшифровке. Рутокен позволяет генерировать такой общий ключ только на не извлекаемых закрытых ключах с опцией 'derive' в поле key usage. Для того чтобы указать эту опцию, при генерации ключа используйте флаг --usage-derive. Например:
|
openssl openssl cms -encrypt -binary -gost28147-paramset_a-cfb -in test_data -out encrypted_cms -outform PEM respondent.cer
...
Расшифрование на стороне адресата:
Используя ключ в файле:
openssl cms -decrypt -binary -in encrypted_cms -inform PEM -recip respondent.cer -inkey seckey.pem -out decrypted_cms_data
...