Чтобы подписать сертификат в OpenSSL, я использую функцию X509_sign()
, передавая ей запрос (как X509_REQ*
), ключ подписи и дайджест.
Теперь мой ключ подписи хранится в HSM, поэтому я не могу извлечь его, чтобы подписать сертификат. К сожалению, PKCS#11 не предоставляет эквивалент X509_sign()
. Все, что у него есть, это C_Sign() / C_SignUpdate() / C_SignFinal()
семейства функций, которые работают с необработанными данными, а не с сертификатами.
Может ли кто-нибудь помочь мне с образцом кода C/C++, как использовать PKCS#11 для подписи сертификата, созданного с помощью OpenSSL?