Funções de resposta de certificado

CertEnroll.dll implementa a interface IX509Enrollment para enviar uma solicitação de certificado do cliente e instalar a resposta de uma AC (autoridade de certificação ).

O processo de registro pode acomodar os três cenários a seguir:

Registro fora de banda
  1. Chame qualquer método de inicialização implementado pelo objeto IX509Enrollment .
  2. Chame o método CreateRequest para recuperar a solicitação.
  3. Envie a solicitação fora de banda (manualmente ou usando algum outro processo).
  4. Receber a resposta de uma AC.
  5. Chame o método InstallResponse .

Registro automático

  1. Chame qualquer método de inicialização implementado pelo objeto IX509Enrollment .
  2. Chame o método Enroll .

Registro atrasado

  1. Chame qualquer método de inicialização implementado pelo objeto IX509Enrollment .
  2. Chame o método CreateRequest para recuperar a solicitação.
  3. Armazene a solicitação até que você esteja pronto para enviá-la.
  4. Quando estiver pronto para se registrar, chame o método Initialize para reinicializar o objeto de registro.
  5. Chame o método InstallResponse quando a AC retornar um certificado.

Durante o processo de registro, você pode chamar a propriedade Status no objeto IX509Enrollment para recuperar um valor de enumeração EnrollmentEnrollStatus que identifica se o registro foi bem-sucedido, está pendente, foi ignorado, gerou um erro ou foi negado.

Cada uma das seções a seguir identifica uma função exportada por Xenroll.dll para instalar uma resposta de certificado de uma AC. Cada seção também discute como usar CertEnroll.dll para substituir a função ou indica que não existe nenhum mapeamento entre as duas bibliotecas:

acceptFilePKCS7WStr

A função acceptFilePKCS7WStr no Xenroll.dll instala uma resposta PKCS nº 7 de um arquivo.

A biblioteca de CertEnroll.dll não implementa diretamente a funcionalidade para instalar uma resposta de certificado PKCS nº 7 de um arquivo. No entanto, você pode criar uma função personalizada para ler os dados do arquivo em uma matriz de bytes e chamar InstallResponse para instalar a resposta.

Se você especificar o valor AllowNoOutstandingRequest da enumeração InstallResponseRestrictionFlags para o primeiro parâmetro de InstallResponse, um certificado fictício não precisará existir, permitindo assim que você instale um certificado sem primeiro chamar Enroll ou CreateRequest. No entanto, se você estiver instalando um certificado usando um script web, um certificado fictício deverá existir no repositório de solicitações. Portanto, você deve especificar AllowNone para o primeiro parâmetro.

acceptFileResponseWStr

A função acceptFileResponseWStr em Xenroll.dll instala uma resposta de certificado PKCS nº 7 ou CMC de um arquivo.

A biblioteca de CertEnroll.dll não implementa diretamente a funcionalidade para instalar uma resposta de certificado de um arquivo. No entanto, você pode criar uma função personalizada para ler os dados do arquivo em uma matriz de bytes e chamar InstallResponse para instalar a resposta PKCS #7 ou CMC.

Se você especificar o valor AllowNoOutstandingRequest da enumeração InstallResponseRestrictionFlags para o primeiro parâmetro de InstallResponse, um certificado fictício não precisará existir, permitindo assim que você instale um certificado sem primeiro chamar Enroll ou CreateRequest. No entanto, se você estiver instalando um certificado usando um script web, um certificado fictício deverá existir no repositório de solicitações. Portanto, você deve especificar AllowNone para o primeiro parâmetro.

acceptPKCS7Blob

A função acceptPKCS7Blob no Xenroll.dll instala uma resposta PKCS nº 7 contida em uma matriz de bytes.

Você pode chamar InstallResponse para instalar uma mensagem PKCS nº 7. Se você especificar o valor AllowNoOutstandingRequest da enumeração InstallResponseRestrictionFlags para o primeiro parâmetro de InstallResponse, um certificado fictício não precisará existir, permitindo assim que você instale a resposta PKCS nº 7 sem primeiro chamar Enroll ou CreateRequest. No entanto, se você estiver instalando um certificado usando um script web, um certificado fictício deverá existir no repositório de solicitações. Portanto, você deve especificar AllowNone para o primeiro parâmetro.

acceptResponseBlob

A função acceptResponseBlob no Xenroll.dll instala uma resposta de certificado PKCS nº 7 ou CMC contida em uma matriz de bytes.

Você pode chamar InstallResponse para instalar uma resposta PKCS nº 7 ou CMC. Se você especificar o valor AllowNoOutstandingRequest da enumeração InstallResponseRestrictionFlags para o primeiro parâmetro de InstallResponse, um certificado fictício não precisará existir, permitindo assim que você instale a resposta sem primeiro chamar Enroll ou CreateRequest. No entanto, se você estiver instalando um certificado usando um script web, um certificado fictício deverá existir no repositório de solicitações. Portanto, você deve especificar AllowNone para o primeiro parâmetro.

getCertContextFromFileResponseWStr

A função getCertContextFromFileResponseWStr em Xenroll.dll recupera o certificado do cliente de um arquivo.

A biblioteca CertEnroll.dll não implementa diretamente a funcionalidade para recuperar um certificado de uma resposta de AC salva em um arquivo. No entanto, você pode criar uma função personalizada para ler os dados do arquivo em uma matriz de bytes e chamar InstallResponse para instalar a resposta PKCS #7 ou CMC e chamar a propriedade Certificate para recuperar o certificado.

Se você especificar o valor AllowNoOutstandingRequest da enumeração InstallResponseRestrictionFlags para o primeiro parâmetro de InstallResponse, um certificado fictício não precisará existir, permitindo assim que você instale um certificado sem primeiro chamar Enroll ou CreateRequest. No entanto, se você estiver instalando um certificado usando um script web, um certificado fictício deverá existir no repositório de solicitações. Portanto, você deve especificar AllowNone para o primeiro parâmetro.

getCertContextFromPKCS7

A função getCertContextFromPKCS7 no Xenroll.dll recupera o certificado do cliente de uma resposta PKCS nº 7.

Você pode chamar a propriedade Certificate no objeto IX509Enrollment para recuperar um certificado depois de chamar o método Enroll ou InstallResponse .

getCertContextFromResponseBlob

A função getCertContextFromResponseBlob no Xenroll.dll recupera um certificado do cliente de uma resposta PKCS nº 7 ou CMC.

Você pode chamar a propriedade Certificate no objeto IX509Enrollment para recuperar um certificado depois de chamar o método Enroll ou InstallResponse .

InstallPKCS7Blob

A função InstallPKCS7Blob no Xenroll.dll instala uma resposta PKCS nº 7.

Você pode chamar InstallResponse para instalar uma resposta PKCS nº 7 ou CMC. Se você especificar o valor AllowNoOutstandingRequest da enumeração InstallResponseRestrictionFlags para o primeiro parâmetro de InstallResponse, um certificado fictício não precisará existir, permitindo assim que você instale a resposta sem primeiro chamar Enroll ou CreateRequest. No entanto, se você estiver instalando um certificado usando um script web, um certificado fictício deverá existir no repositório de solicitações. Portanto, você deve especificar AllowNone para o primeiro parâmetro.

InstallPKCS7BlobEx

A função InstallPKCS7BlobEx no Xenroll.dll instala uma resposta PKCS nº 7 e retorna o número de certificados instalados.

Você pode chamar InstallResponse para instalar uma resposta PKCS nº 7 ou CMC. Se você especificar o valor AllowNoOutstandingRequest da enumeração InstallResponseRestrictionFlags para o primeiro parâmetro de InstallResponse, um certificado fictício não precisará existir, permitindo assim que você instale a resposta sem primeiro chamar Enroll ou CreateRequest. No entanto, se você estiver instalando um certificado usando um script web, um certificado fictício deverá existir no repositório de solicitações. Portanto, você deve especificar AllowNone para o primeiro parâmetro.

SPCFileNameWStr

A função SPCFileNameWStr no Xenroll.dll especifica ou recupera o nome do arquivo no qual salvar a resposta do certificado. A biblioteca de CertEnroll.dll não implementa a funcionalidade que permite copiar um certificado para um arquivo específico. O processo de registro instala automaticamente a cadeia de certificados em arquivos nos repositórios apropriados.

WriteCertToCSP

A função WriteCertToCSP no Xenroll.dll especifica ou recupera um valor booliano que indica se um certificado deve ser gravado em um CSP ( provedor de serviços criptográfico ). Normalmente, se essa função for chamada, o provedor será um cartão inteligente.

Em CertEnroll.dll, quando um cliente chama o método Enroll para enviar uma solicitação para um certificado de cartão inteligente e um certificado é emitido, Registre automaticamente o certificado no cartão inteligente, supondo que o cartão esteja instalado no leitor. O método InstallResponse também grava automaticamente o certificado no cartão inteligente.

WriteCertToUserDS

A função WriteCertToUserDS no Xenroll.dll especifica ou recupera um valor booliano que indica se um certificado deve ser salvo no repositório do Active Directory. A biblioteca CertEnroll.dll não implementa a funcionalidade que permite que você especifique um repositório para o qual copiar um certificado.

Mapeando Xenroll.dll para CertEnroll.dll

IX509Enrollment