У меня есть пара ключей RSA 1024, созданная с использованием стандартного вызова из PKCS # 11. Мне нужно создать CSR PKCS # 10 для открытого ключа.
У MS есть DLL IEnroll4, которая позволит поднять CSR с помощью createRequestWStr. Примеры показывают, что вам нужно создать новую пару ключей (контейнер с 2 объектами в MS CAPI), и MS автоматически предоставляет контекст открытого ключа для генерации csr.
В моем случае у меня уже есть пара ключей, сгенерированная с использованием pkcs # 11 (как 2 объекта, но без контейнера ключей). MS dll не позволяет мне продолжить. ВОПРОС 1: Может кто-нибудь указать, как я могу решить эту проблему. ----------------------------------------------- -----------------------------
В качестве альтернативы я думал написать свой собственный код для генерации CSR на основе стандартов RSA. У меня формат ASN 1.0. Синтаксис ASN.1 для запроса на сертификацию:
CertificationRequest ::= SEQUENCE {
certificationRequestInfo CertificationRequestInfo,
signatureAlgorithm SignatureAlgorithmIdentifier,
signature Signature
}
SignatureAlgorithmIdentifier ::= AlgorithmIdentifier
Signature ::= BIT STRING
CertificationRequestInfo ::= SEQUENCE {
version Version,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
Attributes ::= SET OF Attribute
ВОПРОС 2: Как использовать приведенный выше синтаксис? Я новичок в этом синтаксисе? На какие ресурсы мне нужно обратиться, чтобы написать собственный код?