Share via


intermediários

Os intermediários se comunicam com aplicativos cliente para permitir que eles enviem solicitações de certificado e (supondo que a solicitação resulte em um certificado emitido) para baixar o certificado emitido para o cliente. Cada protocolo de camada de transporte requer seu próprio intermediário.

Os Serviços de Certificados da Microsoft são fornecidos com um intermediário (as páginas de registro da Web) para HTTP. Outro exemplo de um intermediário é o snap-in MMC de Certificados do Microsoft Windows (que permite que o Assistente de Solicitação de Certificado seja invocado). Se outros protocolos de camada de transporte forem usados com os Serviços de Certificado, um desenvolvedor poderá criar um intermediário para cada protocolo de camada de transporte desejado.

Os intermediários se comunicam com os Serviços de Certificados usando as interfaces ICertRequest e ICertConfig fornecidas pelo mecanismo de servidor. O método ICertRequest::Submit é usado para enviar uma solicitação de certificado e ICertRequest::GetCertificate é usado para obter o certificado emitido resultante. Da mesma forma, ICertConfig::GetConfig é usado para determinar qual autoridade de certificação pode ser usada para emitir o certificado.

Um intermediário não depende da linguagem. Pode ser um programa escrito em C++, Visual Basic, Java, script ou outra linguagem.

Além de coletar dados do cliente para criar uma solicitação de certificado, um intermediário pode especificar atributos de solicitação. As solicitações enviadas a uma autoridade de certificação que executa o módulo de política corporativa devem indicar o tipo de certificado solicitado especificando um atributo "CertificateTemplate" ou uma extensão modelo de certificado na própria solicitação.

Observe que, durante a criação de uma solicitação de certificado, os desenvolvedores (e intermediários) são responsáveis por manter o sigilo da chave privada. Depois que uma chave privada for comprometida (perdeu seu sigilo), ela será inútil.

As páginas de registro da Web dos Serviços de Certificado usam as Interfaces de Registro de Certificado, que protegem chaves privadas gerando-as na estação de trabalho. Além de manter o sigilo da chave privada, o Controle de Registro de Certificado permite que um intermediário especifique o Provedor de Serviços Criptográficos, a especificação de chave, a força da chave e o algoritmo de hash.

O snap-in do MMC de certificados também usa o controle de registro de certificado (Xenroll.dll). No entanto, quando as páginas de registro da Web dos Serviços de Certificado fazem com que o recurso de Controle de Registro de Certificado (Xenroll.dll) seja baixado para o cliente, se necessário, o snap-in do MMC de Certificados é executado em um ambiente em que Xenroll.dll já é um recurso disponível.

Além de ICertRequest e ICertConfig, os desenvolvedores de intermediários podem achar úteis as Interfaces de Registro de Certificado e o Controle de Registro de Cartão Inteligente .