Criando um certificado

A ordem das chamadas na criação de um certificado é a seguinte:

  1. A AC (autoridade de certificação ) inicializa módulos por meio de chamadas para ICertPolicy e ICertExit (acontece uma vez na inicialização do servidor). A AC inicializará a política e sairá dos módulos chamando ICertPolicy2::Initialize e ICertExit::Initialize.
  2. O intermediário chama a AC por meio de ICertConfig (ocorre uma vez por inicialização intermediária). O intermediário localiza a cadeia de caracteres de configuração necessária chamando ICertConfig::GetConfig.
  3. O cliente chama o intermediário por meio de uma interface específica para o intermediário (ocorre uma vez por solicitação). O cliente envia uma solicitação de certificado para o intermediário. Isso pode ser, por exemplo, o Microsoft Internet Explorer enviar uma solicitação por meio do Controle de Registro de Certificado para Serviços de Informações da Internet da Microsoft.
  4. Intermediário para AC por meio de ICertRequest (ocorre uma vez por solicitação). O intermediário envia a solicitação de certificado para a AC por meio de ICertRequest::Submit. No caso dos Serviços de Informações da Internet, isso pode ser feito por meio de scripts do Active Server Pages.
  5. A AC chama o Módulo de Política por meio da interface ICertPolicy (ocorre uma vez por solicitação). A AC notifica o módulo de política de que uma solicitação chegou chamando ICertPolicy::VerifyRequest. O módulo de política pode examinar a solicitação e alterar o certificado chamando métodos da interface ICertServerPolicy . O módulo de política pode indicar que a solicitação está OK (nesse caso, o certificado é criado neste ponto), a solicitação deve ser negada ou a solicitação deve ser suspensa.
  6. (Opcional) O administrador chama a AC por meio da interface ICertAdmin . Se a solicitação for suspensa, o administrador poderá reenviar ou negar a solicitação ou modificar atributos e extensões de solicitação. Observe que, se a solicitação for reenviada, o Módulo de Política terá outra oportunidade de processar a solicitação (como resultado de uma chamada para ICertPolicy::VerifyRequest). A tarefa de reenviar ou negar a solicitação pode ser executada por meio do snap-in MMC da Autoridade de Certificação ou outro aplicativo que usa ICertAdmin.
  7. A AC chama o módulo de saída por meio da interface ICertExit . Se o módulo de saída tiver indicado (quando ICertExit::Initialize foi chamado, na etapa 1) que ele está interessado em ver certificados emitidos ou solicitações mantidas pendentes, a AC chamará ICertExit::Notify.
  8. O módulo de saída chama a AC por meio da interface ICertServerExit . O módulo de saída pode examinar a solicitação e o novo certificado chamando métodos de ICertServerExit.