Partilhar via


enrollPKCS7

O exemplo enrollPKCS7 cria uma solicitação PKCS nº 7 de um certificado existente herdando as chaves públicas e privadas e o modelo de certificado. O certificado existente é usado para assinar a solicitação. Este exemplo registra o usuário em uma hierarquia de certificados e instala a resposta do certificado. O exemplo usa um certificado existente para registrar e instalar um novo. Para obter mais informações sobre como renovar um certificado existente, consulte enrollRenewalPKCS7.

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\enrollPKCS7.

Discussão

O exemplo de enrollPKCS7:

  1. Processa os argumentos de linha de comando. A linha de comando deve conter o nome do modelo de certificado usado para localizar um certificado existente.
  2. Recupera um certificado existente usando o nome do modelo especificado na linha de comando ou, se um certificado não puder ser encontrado, tenta registrar um novo criado usando o modelo . As funções findCertByTemplate e enrollCertByTemplate são definidas em enrollCommon.cpp.
  3. Verifica a cadeia de certificados e converte o certificado em um BSTR.
  4. Cria um objeto IX509CertificateRequestPkcs7 e o inicializa usando o certificado existente. O novo objeto de solicitação PKCS nº 7 herda as chaves privadas e públicas e o modelo do certificado existente.
  5. Cria um objeto ISignerCertificate , inicializa-o usando o certificado existente e o adiciona ao objeto de solicitação PKCS nº 7.
  6. Cria um objeto IX509Enrollment, inicializa-o usando o objeto de solicitação PKCS nº 7, tenta registrá-lo na AC e monitora a status do processo de registro. A função checkEnrollStatus é definida em enrollCommon.cpp.

Solicitação CMC

Usando os exemplos incluídos