Page tree

Versions Compared

Key

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

...

  • Сгенерировать на устройстве ключевую пару, которая будет использоваться для подписи, с помощью метода rutoken::pkicore::Pkcs11Device::generateKeyPair.
  •  Заполнить необходимые поля PKCS#10 запроса на сертификат, используя класс rutoken::pkicore::Pkcs10RequestInfo.
  •  Сформировать PKCS#10 запрос, вызвав функцию rutoken::pkicore::createPkcs10Request.
  •  Получить сертификат в центре сертификации на основании запроса, полученного на предыдущем шаге.
  •  Импортировать полученный сертификат на токен, используя метод rutoken::pkicore::Pkcs11Device::importCert.

 

Code Block
using namespace rutoken::pkicore;

auto key = device.generateKeyPair(Pkcs11Device::Gost34102001KeyGenParams());

X500Dn subject;
subject.setRdn(X500Dn::RdnId::commonName, "Ivanov Ivan Ivanovich");

Pkcs10RequestInfo info;
info.setSubject(subject);

auto request = createPkcs10Request(key, info);

// Вызов request.toPem() вернет PKCS#10 запрос на сертификат в формате PEM, который можно передать в центр сертификации для получения пользовательского сертификата.

device.importCert(ExternalCert(pemCert));

Подпись и проверка подписи в формате CMS

...