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
RequestID
Long assinado
ID da solicitação interna
Notbefore
Data/hora
Data de validade do início do certificado
NotAfter
Data/hora
Data de validade do certificado
RawPublicKey
Binário
Chave do assunto
PublicKeyAlgorithm
String
ID do objeto do algoritmo de chave de entidade (OID)
RawPublicKeyAlgorithmParameters
Binário
Parâmetros de algoritmo de chave de assunto
GeneralFlags
PROPTYPE_LONG
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.

RequesterNameFromOldCertificate
PROPTYPE_STRING
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
CAType
long
O tipo de autoridade de certificação. Esse pode ser um dos seguintes valores (definido em Certsrv.h):
  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CertCount
long
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.
CertState
long
O estado do certificado de autoridade de certificação. Esse valor pode ser um dos seguintes:
  • CA_DISP_ERROR: o certificado de autoridade de certificação nunca foi emitido.
  • CA_DISP_REVOKED: o certificado de autoridade de certificação foi revogado.
  • CA_DISP_VALID: o certificado de autoridade de certificação ainda é válido.
  • CA_DISP_INVALID: o certificado de autoridade de certificação expirou.
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.
CertSuffix
String
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.

CRLIndex
long
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.

CRLState
long
O estado da CRL. Esse valor pode ser um dos seguintes:
  • CA_DISP_ERROR: a CRL é gerenciada por outro certificado de autoridade de certificação.
  • CA_DISP_REVOKED: todos os certificados de AC não expirados que usam a CRL desse certificado de AUTORIDADE de Certificação foram revogados.
  • CA_DISP_VALID: o certificado de autoridade de certificação ainda está sendo usado para publicar CRLs conforme necessário.
  • CA_DISP_INVALID: todos os certificados de autoridade de certificação que usam a CRL desse certificado de autoridade de certificação expiraram.
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.
CRLSuffix
String
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.

fUseDS
long
Indica se a AC usa um serviço de diretório. Esse pode ser um dos seguintes valores:
  • 0=não
  • 1=sim
MachineDNSName
String
O nome DNS do servidor que hospeda a AC.
ModuleRegistryLocation
String
O local do Registro disponível para uso pelo módulo.
RawCACertificate
Binário
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.

RawCRL
Binário
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.

RequesterCAAccess
long
Indica se o solicitante está autorizado a solicitar o certificado. Esse pode ser um dos seguintes valores:
  • 0=não
  • 1=sim
(O snap-in MMC da Autoridade de Certificação pode ser usado para controlar permissões de solicitação de certificado .)
SanitizedCAName
String
O nome higienizado para a AC. Para obter informações sobre nomes de AC sanitizados, consulte ICertConfig::GetConfig.
SanitizedShortName
String
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
PROPTYPE_LONG
Dados longos assinados
PROPTYPE_DATE
Data/hora
PROPTYPE_BINARY
Dados binários
PROPTYPE_STRING
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

Confira também

ICertServerPolicy

ICertServerPolicy::SetContext

Propriedades do nome