Interface ICertPolicy2 (certpol.h)

A interface ICertPolicy2 é uma das duas interfaces que fornecem comunicações entre o mecanismo de servidor dos Serviços de Certificados e o módulo de política.

Nota O módulo de política pode se comunicar com o mecanismo de servidor dos Serviços de Certificados usando a interface ICertServerPolicy .
 
O mecanismo de servidor dos Serviços de Certificados chama os métodos ICertPolicy2 para executar as seguintes tarefas:
  • Inicialize o módulo de política.
  • Notifique o módulo de política de que uma nova solicitação entrou no sistema. O módulo de política pode usar os métodos da interface ICertServerPolicy para indicar que a solicitação é boa e deve ser emitida, é ruim e deve ser negada ou deve ser mantida para consideração posterior.
  • Recupere uma descrição do módulo de política e sua funcionalidade.
  • Notifique o módulo de política de que o servidor dos Serviços de Certificados está sendo encerrado.

As interfaces dos Serviços de Certificados dão suporte a modelos apartment-threading e free-threading. Para obter uma taxa de transferência melhor, o threading gratuito é recomendado.

Herança

A interface ICertPolicy2 herda de ICertPolicy e IDispatch. ICertPolicy2 também tem estes tipos de membros:

Métodos

A interface ICertPolicy2 tem esses métodos.

 
ICertPolicy2::GetManageModule

Recupera a interface ICertManageModule associada à interface ICertPolicy2 chamando GetManageModule e passando o endereço de um ponteiro para um ICertManageModule.

Comentários

Os implementadores de ICertPolicy também devem implementar ICertManageModule. Além disso, o ProgID para uma classe que implementa ICertPolicy deve estar em conformidade com uma convenção de nomenclatura. Especificamente, o ProgID deve ser do formato:

"MyApp. Política"

Em que MyApp é um especificador que identifica o aplicativo. Por exemplo, em C++, o seguinte pode ser usado na macro DECLARE_REGISTRY de uma classe (CMyCertPolicyModule) que implementa ICertPolicy.

DECLARE_REGISTRY(
    CMyCertPolicyModule,
    L"MyCode.Policy.1",
    L"MyCode.Policy",
    IDS_CERTPOLICYMODULE_DESC,
    THREADFLAGS_BOTH);

Para o exemplo anterior, o valor IDS_CERTPOLICYMODULE_DESC é um identificador específico do aplicativo no arquivo de recurso (.rc) para uma cadeia de caracteres que descreve a classe .

As constantes de cadeia de caracteres definidas em Certmod.h podem ser usadas para simplificar o seguindo a convenção de nomenclatura.

Constante Valor
wszCERTPOLICYMODULE_POSTFIX TEXT(". Política")
 

Não mais do que um módulo de política do Visual Basic Scripting Edition pode ser registrado no servidor de Serviços de Certificados ao mesmo tempo. Se mais de um desses módulos de política estiver registrado no servidor de Serviços de Certificados, o snap-in da Autoridade de Certificação MMC, o aplicativo Serviços de Certificados ou a ferramenta Certutil poderão produzir erros. Observe que o ambiente de desenvolvimento do Visual Basic Scripting Edition registra automaticamente uma DLL quando ela é criada com êxito. Como resultado, você pode encontrar essa situação quando um módulo de política do Visual Basic Scripting Edition já estiver registrado e outro módulo de política do Visual Basic Scripting Edition for criado. Para evitar essa situação, você deve cancelar o registro de um dos módulos de política do Visual Basic Scripting Edition usando a instrução de linha de comando regsvr32 /u FileName.dll, em que FileName.dll é o nome do módulo de política do Visual Basic Scripting Edition que você não pretende tornar ativo.

Os implementadores de ICertPolicy no Visual Basic Scripting Edition devem nomear seu projeto no formato:

"MyApp"

Em que MyApp é um especificador que identifica o aplicativo; além disso, a classe que implementa ICertPolicy deve ser chamada de "Política".

Requisitos

   
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certpol.h (inclua Certsrv.h)