Partilhar via


Intermediários

Os intermediários se comunicam com os aplicativos cliente para permitir que eles enviem solicitações de certificadoe (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 inscrição na Web) para HTTP. Outro exemplo de 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 Certificados, 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 oICertRequeste interfaces de ICertConfig fornecidas pelo mecanismo do 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 língua. 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 executando o módulo de política empresarial devem indicar o tipo de certificado solicitado, especificando um atributo "CertificateTemplate" ou uma extensão de 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 de uma chave privada ter sido comprometida (perdeu o seu segredo), é inútil.

As páginas de registro na Web dos Serviços de Certificados usam o Certificate Enrollment Interfaces, que protege 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 de Criptografia, a especificação da chave, a força da chave e o algoritmo de hash.

O snap-in Certificados do MMC também usa o Controle de Registro de Certificado (Xenroll.dll). No entanto, quando as páginas de registro na Web dos Serviços de Certificados fazem com que o recurso Controle de Registro de Certificado (Xenroll.dll) seja baixado para o cliente, se necessário, o snap-in Certificados do MMC é executado em um ambiente onde 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 de Controle de Registro de Cartão Inteligente.