...
- Сгенерировать на устройстве ключевую пару, которая будет использоваться для подписи, с помощью метода
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
...