Compartilhar via


enrollRenewalPKCS7

O exemplo enrollRenewalPKCS7 cria um objeto de solicitação PKCS nº 7 para renovar um certificado existente. O objeto de solicitação usa um novo par de chaves, mas retém o provedor criptográfico associado ao certificado que está sendo renovado.

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

Discussão

O exemplo enrollRenewalPKCS7:

  1. Processa os argumentos de linha de comando. A linha de comando deve conter o nome do modelo usado para criar a solicitação de certificado.
  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 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. Como o parâmetro inheritOptions é definido como InheritDefault, um novo par de chaves é criado para a solicitação, mas o provedor criptográfico no certificado existente é usado. Para obter mais informações, consulte o método InitializeFromCertificate .
  5. Cria um objeto IX509Enrollment, inicializa-o usando o objeto de solicitação PKCS nº 7, tenta registrá-lo na AC e monitora o status do processo de registro. A função checkEnrollStatus é definida em enrollCommon.cpp.

Solicitação do CMC

Solicitação de renovação do PKCS nº 7

Usando os exemplos incluídos