Método ICertServerPolicy::GetCertificateProperty (certif.h)
O método GetCertificateProperty retorna uma propriedade nomeada de um certificado.
Você deve chamar ICertServerPolicy::SetContext antes de usar esse método.
Sintaxe
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
Parâmetros
[in] strPropertyName
Especifica a propriedade nomeada a ser recuperada. Há um conjunto de ações de propriedades de certificado, conhecidas como propriedades de nome, que são sempre válidas e podem ser recuperadas chamando esse método. Para obter informações sobre essas propriedades, consulte Propriedades do nome. Outras propriedades ao lado de propriedades de nome também podem ser recuperadas.
As propriedades DistinguishedName e RawName do certificado são acessíveis por ICertServerExit::GetCertificateProperty somente depois que o módulo de política terminar de processar a solicitação e o certificado for emitido. As propriedades DistinguishedName e RawName do certificado emitido também podem ser lidas por um módulo de saída usando ICertServerExit::GetCertificateProperty.
Há propriedades de certificado adicionais que não podem ser acessadas por GetCertificateProperty. Essas propriedades não são definidas até que o módulo de política retorne VR_INSTANT_OK e o certificado seja emitido. Para obter uma lista completa de todas as propriedades em um certificado emitido, consulte GetCertificateProperty.
As propriedades a seguir são exclusivas dos certificados e podem ser lidas por GetCertificateProperty.
Propriedade Certificate | Significado |
---|---|
|
ID da solicitação interna |
|
Data de validade do início do certificado |
|
Data de validade do certificado |
|
Chave do assunto |
|
ID do objeto do algoritmo de chave de entidade (OID) |
|
Parâmetros de algoritmo de chave de assunto |
|
GeneralFlags na solicitação de registro. Esse é um OR bit a bit de valores. O único valor de interesse deve ser o valor do sinalizador de 0x00000400, que informa à AC para não persistir a solicitação no banco de dados. Se a AC estiver no modo sem banco de dados (ou seja, para CAs do Windows Server 2008 R2 e posteriores, o banco de dados da AC terá o sinalizador DBFLAGS_ENABLEVOLATILEREQUESTS definido), use certutil -getreg DbFlags e certutil -setreg DBFlags para configurar a AC no modo sem banco de dados.
Windows Vista e Windows Storage Server 2003: Não há suporte para esse campo. |
|
Para solicitações de renovação, retorna o nome da conta do solicitante (por exemplo, contoso\requester). |
As propriedades a seguir se aplicam à autoridade de certificação.
Propriedade CA | Significado |
---|---|
|
O tipo de autoridade de certificação. Esse pode ser um dos seguintes valores (definido em Certsrv.h):
|
|
O número de certificados de autoridade de certificação. Esse valor será um mais o número de vezes que a AC foi renovada. Para obter informações sobre renovação, consulte Certificação. |
|
O estado do certificado de autoridade de certificação. Esse valor pode ser um dos seguintes:
|
|
O sufixo para o certificado de autoridade de certificação. O sufixo é uma cadeia de caracteres vazia para certificados de AC com um índice de zero; caso contrário, o sufixo (na forma de "(nn)", em que nn é o índice de certificado) é aplicado a todas as URLs que apontam para certificados de AUTORIDADE armazenados em arquivos ou objetos de serviço de diretório. Para URLs não LDAP , o sufixo normalmente aparece antes do texto ".crt". Para URLs LDAP, o sufixo normalmente é acrescentado ao primeiro 'CN=' no nome diferenciado completo.
Esse nome de propriedade pode ser acrescentado com '.#', em que # representa um índice de certificado de AC (ou, no caso da propriedade CRLSuffix, um índice CRL). Para obter informações sobre índices de certificado e CRL, consulte Renovação da autoridade de certificação. |
|
O índice CRL ( lista de certificados revogados ). Acrescentar um índice de certificado a esse nome de propriedade permite que você recupere o índice crl. O índice crl não corresponde necessariamente ao índice de certificado. Para obter mais informações, consulte Certificação.
Esse nome de propriedade pode ser acrescentado com '.#', em que # representa um índice de certificado de AC (ou, no caso da propriedade CRLSuffix, um índice CRL). Para obter informações sobre índices de certificado e CRL, consulte Renovação da autoridade de certificação. |
|
O estado da CRL. Esse valor pode ser um dos seguintes:
|
|
O sufixo para a CRL da AC. O sufixo é uma cadeia de caracteres vazia para CRLs com um índice de zero; caso contrário, o sufixo (na forma de "(nn)", em que nn é o índice CRL) é aplicado a todas as URLs que apontam para CRLs armazenadas em arquivos ou objetos de serviço de diretório. Para URLs não LDAP, o sufixo normalmente aparece antes do texto .crl. Para URLs LDAP, o sufixo normalmente é acrescentado ao primeiro 'CN=' no nome diferenciado completo.
Esse nome de propriedade pode ser acrescentado com '.#', em que # representa um índice de certificado de AC (ou, no caso da propriedade CRLSuffix, um índice CRL). Para obter informações sobre índices de certificado e CRL, consulte Renovação da autoridade de certificação. |
|
Indica se a AC usa um serviço de diretório. Esse pode ser um dos seguintes valores:
|
|
O nome DNS do servidor que hospeda a AC. |
|
O local do Registro disponível para uso pelo módulo. |
|
O certificado de autoridade de certificação.
Esse nome de propriedade pode ser acrescentado com '.#', em que # representa um índice de certificado de AC (ou, no caso da propriedade CRLSuffix, um índice CRL). Para obter informações sobre índices de certificado e CRL, consulte Renovação da autoridade de certificação. |
|
A CRL ( lista de certificados revogados ) da AC.
Esse nome de propriedade pode ser acrescentado com '.#', em que # representa um índice de certificado de AC (ou, no caso da propriedade CRLSuffix, um índice CRL). Para obter informações sobre índices de certificado e CRL, consulte Renovação da autoridade de certificação. |
|
Indica se o solicitante está autorizado a solicitar o certificado. Esse pode ser um dos seguintes valores:
|
|
O nome higienizado para a AC. Para obter informações sobre nomes de AC sanitizados, consulte ICertConfig::GetConfig. |
|
O nome higienizado para a AC, que é abreviado e que contém um valor de hash para garantir a exclusividade. |
[in] PropertyType
Especifica o tipo de propriedade. O tipo pode ser um dos valores a seguir.
Type | Significado |
---|---|
|
Dados longos assinados |
|
Data/hora |
|
Dados binários |
|
Dados de cadeia de caracteres Unicode |
[out] pvarPropertyValue
Um ponteiro para VARIANT que conterá o valor da propriedade.
Valor retornado
Se o método for bem-sucedido, o método retornará S_OK e *pvarPropertyValue será definido como VARIANT que contém o valor da propriedade solicitada.
Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
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 | certif.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
DLL | Certcli.dll |