enrollCustomPKCS10
O exemplo enrollCustomPKCS10 cria uma solicitação PKCS #10 personalizada, envia-a a uma AC (autoridade de certificação) autônoma e instala o certificado emitido no repositório de certificados. Uma AC autônoma não requer o Active Directory e não usa modelos.
Localização
Quando você instala o Microsoft Windows Software Development Kit (SDK), o exemplo é instalado, por padrão, na pasta %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollCustomPKCS10.
Discussão
O exemplo enrollCustomPKCS10:
- Processa os argumentos de linha de comando. A linha de comando deve conter o nome da entidade do certificado X.500, o nome do email (RFC822) e um OID (Uso Avançado de Chave). Por exemplo, você pode especificar os seguintes argumentos para registrar user1@example.com:
- Nome da entidade: "CN=user1,DC=example,DC=com"
- Nome RFC822: user1@example.com
- OID de EKU de autenticação do cliente: 1.3.6.1.5.5.7.3.2
- Cria um objeto IX509CertificateRequestPkcs10 e o inicializa para o usuário final especificando o valor ContextUser da enumeração X509CertificateEnrollmentContext .
- Cria um objeto IX500DistinguishedName , usa o objeto para codificar o nome da entidade em uma matriz de bytes e adiciona a matriz ao objeto de solicitação PKCS nº 10.
- Cria um objeto IObjectId , inicializa-o usando o OID (identificador de objeto EKU) especificado na linha de comando, cria uma coleção IObjectIds , adiciona o novo objeto IObjectId (EKU) à coleção, usa a coleção para inicializar um objeto IX509ExtensionEnhancedKeyUsage e adiciona esse objeto à solicitação.
- Cria um objeto IAlternativeName , inicializa-o usando o nome RFC822 especificado na linha de comando, Cria uma coleção IAlternativeNames , adiciona o novo objeto IAlternativeName (nome RFC822 ) à coleção, cria um objeto IX509ExtensionAlternativeNames e adiciona esse objeto à solicitação.
- Cria um objeto IX509Enrollment , inicializa-o usando o objeto IX509CertificateRequestPkcs10 e recupera uma cadeia de caracteres que contém uma solicitação codificada em base64.
- Cria um objeto ICertConfig e o usa para recuperar uma cadeia de caracteres que contém a configuração de AC.
- Cria um objeto CryptoAPI ICertRequest2 e o usa mais as cadeias de caracteres que contêm a configuração de AC e a solicitação de certificado para enviar a solicitação à AC.
- Verifica o envio status e, se o registro for bem-sucedido, instala o certificado no repositório de certificados.
Tópicos relacionados