Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Возможные компоненты идентификатора пути:

   manufacturer: ID производителя токена

   model: модель токена

   serial: серийный номер токена

   token: метка токена(поле "label")

   object: имя объекта(CKA_LABEL)

   id: идентификатор объекта (CKA_ID)


Пример идентификатора ключевой пары на токене:

pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP;serial=2adc8d87;object=my%20label;id=%aa%bb%cc%dd?pin-value=12345678

Если подключен только один Рутокен с единственной ключевой парой:

...

   pkcs11-tool.exe --module rtPKCS11ECP.dll --login --pin 12345678 --keypairgen  --key-type GOSTR3410:A --id 31323132 --usage-derive

pin: PIN-код Рутокена
id:  идентификатор объекта (CKA_ID) в виде двузначных номеров символов в hex из таблицы ASCII.
Чтобы использовать этот id через OpenSSL надо использовать символы, соответствующие этим кодам. Например: для ‘--id 3132’ в OpenSSL надо указывать "pkcs11:id=12".  
Есть удобный онлайн-сервис конвертации строки в ASCII-коды

usage-derive: флаг указывающей, что на сгенерированном ключе можно вырабатывать общий симметричный ключ, который может использоваться, например, для расшифрования cms сообщений.

Если вы не планируйте шифровать сообщения на генерируемой ключевой паре, то этот флаг можно убрать.  

GOSTR3410:A : ‘A’ - парамсет, может быть так же B или С

Генерация ключевой пары ГОСТ-2012 на Рутокене

...

usage-derive: флаг указывающей, что на сгенерированном указанном ключе можно вырабатывать общий симметричный ключ, который может использоваться, например, для расшифрования cms сообщений.

Если вы не планируйте шифровать на сообщения на генерируемой ключевой паре, то этот флаг можно убрать.  

...

Для создания CMS подписи необходимо иметь сертификат. В тестовых целях в папке sdk\openssl\rtengine\samples\tool\ предоставлены настройки удостоверяющего центра OpenSSL, который позволяет выпускать сертификаты.

Скопируйте папке папку sdk\openssl\rtengine\samples\tool\demoCA и конфигурационный файл openssl.cnf в папку с OpenSSL и выполните:

...

Info
titleШифрование на ключах с Рутокена

При расшифровании сообщения вырабатывается общий симметричный ключ, который непосредственно и используется при расшифровке. Рутокен позволяет генерировать такой общий ключ только на не извлекаемых закрытых ключах с опцией 'derive' в поле key usage. Для того чтобы указать эту опцию, при генерации ключа используйте флаг  --usage-derive. Например:


pkcs11-tool.exe --module rtPKCS11ECP.dll --login --pin 12345678 --keypairgen --key-type GOSTR3410-2012-256:B --id 3132 --usage-derive

 

  openssl cms -encrypt -binary -<gost28147-paramset_a-cfb xxx-alg> -in test_data -out encrypted_cms -outform PEM respondent.cer

respondent.cer: сертификат адресата, для которого шифруется сообщение.
Где gost28147-xxx-alg:

gost28147-paramset_a-cfb : единственный доступный (для rtengine 0.7): алгоритм, работает в режиме гаммирования с обратной связью с набором параметров А.

gost28147-cfb (для rtengine новее 0.7):алгоритм, работает в режиме гаммирования с обратной связью с набором параметров Z.

Расшифрование на стороне адресата: 

...