enrollFromPublicKey
O exemplo enrollFromPublicKey inicializa um objeto de solicitação de certificado PKCS nº 10, encapsula-o em um objeto de solicitação CMC, envia a solicitação CMC para uma AC (autoridade de certificação) corporativa e salva o certificado retornado pela AC em um arquivo.
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\enrollFromPublicKey.
Discussão
O exemplo enrollFromPublicKey:
- Processa os seguintes argumentos de linha de comando:
- O nome de um modelo de certificado.
- O nome de um arquivo no qual salvar o certificado instalado como uma matriz de bytes codificada em base64.
- Um nome de modelo de certificado de autenticação opcional. O modelo é usado para criar um certificado de autenticação se nenhum existir no repositório de certificados.
- Cria um objeto de chave privada IX509PrivateKey e chama o método Create para criar uma chave privada assimétrica usando os valores padrão de provedor criptográfico, tamanho da chave e KeySpec para o computador atual.
- Recupera a parte da chave pública do objeto IX509PrivateKey .
- Cria um objeto IX509CertificateRequestPkcs10 e o inicializa usando o modelo especificado na linha de comando e na chave pública.
- Cria um objeto IX509CertificateRequestCmc e o inicializa usando o objeto de solicitação PKCS nº 10.
- Recupera um certificado de autenticação existente ou, se não for possível encontrar, cria uma solicitação de certificado do modelo especificado na linha de comando e tenta registrá-lo. O findCertByKeyUsage é definido em enrollCommon.cpp.
- Verifica a cadeia de certificados.
- Cria um objeto ISignerCertificate , inicializa-o usando o certificado de autenticação, recupera a coleção ISignerCertificates do objeto de solicitação CMC e adiciona o objeto de certificado de assinatura à coleção.
- Codifica a solicitação CMC usando Distinguished Encoding Rules (DER).
- Cria um objeto ICertConfig e o usa para recuperar uma cadeia de caracteres que contém a configuração da AC.
- Cria um objeto CryptoAPI ICertRequest2 e o usa mais as cadeias de caracteres que contêm a configuração da AC e a solicitação de certificado para enviar a solicitação à AC.
- Verifica o status do processo de registro e salva o certificado instalado em um arquivo. A função EncodeToFileW é definida em enrollCommon.cpp.
Tópicos relacionados