Método ICertAdmin2::GetCAProperty (certadm.h)
O método GetCAProperty recupera um valor de propriedade para a AC (autoridade de certificação ). Esse método foi definido pela primeira vez na interface ICertAdmin .
Sintaxe
HRESULT GetCAProperty(
[in] const BSTR strConfig,
[in] LONG PropId,
[in] LONG PropIndex,
[in] LONG PropType,
[in] LONG Flags,
[out] VARIANT *pvarPropertyValue
);
Parâmetros
[in] strConfig
Representa uma cadeia de caracteres de configuração válida para a AC no formato COMPUTERNAME\CANAME, em que COMPUTERNAME é o nome de rede do servidor dos Serviços de Certificados e CANAME é o nome comum da AC, conforme inserido durante a instalação dos Serviços de Certificado. Para obter informações sobre o nome da cadeia de caracteres de configuração, consulte ICertConfig.
[in] PropId
Especifica um dos identificadores de propriedade a seguir.
Valor | Significado |
---|---|
|
Tipo de dados da propriedade: Long Especifica se a AC está executando o Servidor Avançado. |
|
Tipo de dados da propriedade: Binário, indexado A CRL ( lista de revogação de certificados) completa ou base da AC. |
|
Tipo de dados da propriedade: Long, indexed O status de publicação de CRL base. Para obter mais detalhes, confira Comentários. |
|
Tipo de dados da propriedade: Binário, indexado O certificado cruzado para trás. Um certificado cruzado com versões anteriores é o certificado emitido após a renovação da AC para si mesmo assinado com a nova chave da AC. O certificado cruzado com versões anteriores tem o identificador de chave de autoridade do novo certificado de AUTORIDADE e o identificador de chave de entidade do certificado de AUTORIDADE antigo. Aplica-se somente a CAs raiz. |
|
Tipo de dados da propriedade: Long, indexed Se o certificado cruzado anterior é válido. Válido apenas para CAs raiz. |
|
Tipo de dados da propriedade: Long Estado do certificado de autoridade de certificação. Os valores podem ser:
|
|
Tipo de dados da propriedade: Long, indexed Status do certificado de AUTORIDADE de Certificação, como UM HRESULT. |
|
Tipo de dados da propriedade: Long, indexed Versão do certificado de AUTORIDADE de Certificação, como um DWORD. A palavra de alta ordem é o índice de chave e a palavra de baixa ordem é o índice de certificado de AUTORIDADE. |
|
Tipo de dados da propriedade: Binário, indexado O certificado cruzado de encaminhamento. Um certificado cruzado de encaminhamento é um certificado emitido após a renovação da AC para si mesmo assinado com a chave anterior da AC. O certificado cruzado de encaminhamento tem o identificador de chave de autoridade do certificado de AUTORIDADE anterior e o identificador de chave de entidade do novo certificado de AUTORIDADE. Aplica-se somente a CAs raiz. |
|
Tipo de dados da propriedade: Long, indexed Se o certificado cruzado de encaminhamento é válido. Válido apenas para CAs raiz. |
|
Tipo de dados da propriedade: String Nome da AC. |
|
Tipo de dados da propriedade: Binário, indexado Certificado de autenticação de autoridade de certificação. |
|
Tipo de dados da propriedade: Binário, indexado Cadeia de certificados de assinatura da AC. |
|
Tipo de dados da propriedade: Long Número de certificados de assinatura para a AC. |
|
Tipo de dados da propriedade: Binário, indexado A cadeia de CRL de certificado de autenticação da AC. |
|
Tipo de dados da propriedade: Long Tipo de AC. Esse pode ser um dos seguintes valores (definidos em Certsrv.h):
|
|
Tipo de dados da propriedade: Binário, indexado Certificado de troca de autoridade de certificação. |
|
Tipo de dados da propriedade: Binário, indexado Cadeia de certificados de troca de autoridade de certificação. |
|
Tipo de dados da propriedade: Long Número de certificados de troca para a AC. |
|
Tipo de dados da propriedade: Binário, indexado A cadeia de CRL de certificado de troca da AC. |
|
Tipo de dados da propriedade: Cadeia de caracteres, indexada Especifica AS URLs de Acesso às Informações da Autoridade como o tipo de URL solicitado por um cliente. Windows Server 2003: Não há suporte para esse sinalizador. |
|
Tipo de dados da propriedade: String, indexado Especifica AS URLs do Ponto de Distribuição de CRL como o tipo de URL solicitado por um cliente. Windows Server 2003: Não há suporte para esse sinalizador. |
|
Tipo de dados da propriedade: Long Estado da CRL da AC. Os valores podem ser:
|
|
Tipo de dados da propriedade: Binário, indexado A CRL delta da AC. |
|
Tipo de dados da propriedade: Longo, indexado A status de publicação de CRL delta. Para obter mais detalhes, confira Comentários. |
|
Tipo de dados da propriedade: String O nome DNS da AC. |
|
Tipo de dados da propriedade: Long Número de módulos de saída em uso pela AC. |
|
Tipo de dados da propriedade: String Descrição do módulo de saída. |
|
Tipo de dados da propriedade: String A versão do arquivo dos Serviços de Certificados. |
|
Tipo de dados da propriedade: Binário, indexado O certificado KRA (agente de recuperação de chave) da AC. |
|
Tipo de dados da propriedade: Long Número de certificados KRA para a AC. |
|
Tipo de dados da propriedade: Longo, indexado O estado do certificado do KRA. O valor retornado é um dos seguintes:
|
|
Tipo de dados da propriedade: Long Número de certificados KRA usados pela AC. |
|
Tipo de dados da propriedade: String O nome da AC pai da AC. |
|
Tipo de dados da propriedade: String A descrição do módulo de política. |
|
Tipo de dados da propriedade: String A versão do produto na qual o arquivo foi enviado. |
|
Tipo de dados da propriedade: Long Valor que especifica se a separação de função está habilitada. |
|
Tipo de dados da propriedade: String O nome higienizado da AC. Para obter uma definição de um nome de AC sanitizado, consulte ICertConfig2::GetConfig. |
|
Tipo de dados da propriedade: String O nome curto higienizado da AC. Para obter uma definição de um nome curto de AC sanitizado, consulte ICertConfig2::GetConfig. |
|
Tipo de dados da propriedade: String O nome do diretório de pasta compartilhada. |
|
Tipo de dados da propriedade: String Lista de modelos compatíveis com a AC. |
[in] PropIndex
Se o parâmetro PropId for indexado, o índice baseado em zero a ser usado ao recuperar o valor da propriedade. Se PropId não for indexado, esse valor será ignorado.
[in] PropType
Especifica o tipo da propriedade, indicado na coluna Meaning da tabela PropId . O tipo pode ser um dos tipos a seguir.
Valor | Significado |
---|---|
|
Dados longos assinados |
|
Data/hora (reservada para uso futuro) |
|
Dados binários |
|
Dados de cadeia de caracteres Unicode |
[in] Flags
Os sinalizadores a seguir podem ser usados para especificar o formato do valor da propriedade retornada; esses sinalizadores têm significado apenas para dados binários (como certificados, cadeias de certificados ou listas de revogação de certificado) e são ignorados de outra forma.
[out] pvarPropertyValue
Um ponteiro para um buffer que recebe o valor da propriedade solicitada. É responsabilidade do chamador liberar esse recurso quando terminar chamando VariantClear.
Retornar valor
C++
O valor retornado é um HRESULT. Um valor de S_OK indica que o método foi bem-sucedido.VB
O valor da propriedade solicitada.Comentários
Os valores a seguir são retornados quando o identificador de propriedade é CR_PROP_BASECRLPUBLISHSTATUS ou CR_PROP_DELTACRLPUBLISHSTATUS. Esses valores podem ser combinados.
Valor | Descrição |
---|---|
CPF_BADURL_ERROR | Uma URL não é válida. |
CPF_BASE | Uma CRL base foi publicada. |
CPF_CASTORE_ERROR | Um erro de repositório de AC impediu a publicação. |
CPF_COMPLETE | Uma CRL completa foi publicada. |
CPF_DELTA | Uma CRL delta foi publicada. |
CPF_FILE_ERROR | Um erro de arquivo impediu a publicação. |
CPF_FTP_ERROR | Um erro FTP impediu a publicação. |
CPF_HTTP_ERROR | Um erro HTTP impediu a publicação. |
CPF_LDAP_ERROR | Um erro LDAP impediu a publicação. |
CPF_MANUAL | Uma CRL foi publicada manualmente. |
CPF_SHADOW | Uma CRL delta vazia foi publicada, juntamente com uma nova CRL BASE. |
CPF_SIGNATURE_ERROR | Um erro de assinatura impediu a publicação. |
Para obter um exemplo de recuperação de uma CRL, consulte Recuperando uma lista de revogação de certificado.
Exemplos
O exemplo a seguir mostra a recuperação do certificado de assinatura da AC. O exemplo pressupõe que o ponteiro da interface ICertAdmin2 seja válido.
BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
printf("Failed to allocate memory for bstrCA\n");
exit(1);
}
VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
CR_PROP_CASIGCERT,
0,
PROPTYPE_BINARY,
CV_OUT_BASE64HEADER,
&var1);
if (FAILED(hr))
{
printf("Failed GetCAProperty\n");
SysFreeString(bstrCA);
exit(1); // Or other error action.
}
// Use the property as needed.
// ...
// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);
Requisitos
Requisito | Valor |
---|---|
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 | certadm.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
DLL | Certadm.dll |