Partilhar via


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:

  1. 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
  2. Cria um objeto IX509CertificateRequestPkcs10 e o inicializa para o usuário final especificando o valor ContextUser da enumeração X509CertificateEnrollmentContext .
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. Cria um objeto ICertConfig e o usa para recuperar uma cadeia de caracteres que contém a configuração de AC.
  8. 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.
  9. Verifica o envio status e, se o registro for bem-sucedido, instala o certificado no repositório de certificados.

Solicitação PKCS nº 10

Usando os exemplos incluídos