Compartilhar via


Método ICertServerExit::GetRequestProperty (certif.h)

O método GetRequestProperty retorna uma propriedade nomeada de uma solicitação.

Observe que a solicitação é usada para manter todos os estados associados para a solicitação e o certificado eventualmente concedido que não faz parte do certificado. Assim, dados como tempos de revogação e dados de disposição são mantidos no objeto de dados de solicitação.

Sintaxe

HRESULT GetRequestProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

Parâmetros

[in] strPropertyName

Especifica a propriedade 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 válidas para solicitações de certificado incluem as propriedades de solicitação.

Nota As propriedades DistinguishedName e RawName da solicitação serão acessíveis por GetRequestProperty somente se o certificado for solicitado usando uma solicitação de certificado PKCS #10 ou outro formato de solicitação com suporte que contenha informações de nome da entidade codificada. Observe que as solicitações KeyGen não contêm informações de nome de entidade codificadas.
 

As propriedades a seguir são exclusivas para solicitações e podem ser acessadas usando o método GetRequestProperty .

Propriedade Request Significado
Disposição
Com assinatura longa
Disposição da solicitação atual
DispositionMessage
Cadeia de caracteres
Mensagem de disposição informativa
RawCACertificate
Binário
Certificado para a autoridade de certificação emissora
RawRequest
Binário
Bytes de solicitação brutos
RequestAttributes
Cadeia de caracteres
Cadeia de caracteres de atributo (pode ser truncada)
RequesterName
Cadeia de caracteres
O nome do solicitante no formulário "DomainName\UserID"
RequestID
Com assinatura longa
RequestID interno
RequestType
Com assinatura longa
Indica a solicitação PKCS nº 10 ou KeyGen
ResolvedWhen
Data/hora
Quando resolvido
StatusCode
Com assinatura longa
Erro do Windows para a última operação
EnviadoQuando
Data/hora
Quando chegou
 

A propriedade RequestType será um dos valores a seguir.

Valor Significado
CR_IN_PKCS7
Solicitação de renovação ou registro do PKCS nº 7
CR_IN_PKCS10
Solicitação PKCS nº 10
CR_IN_KEYGEN
Solicitação keygen (formato Netscape)
 

Além disso, outras propriedades podem ser definidas por um tipo de solicitação específico, extensões de solicitação ou por atributos nomeados definidos no cabeçalho de uma solicitação.

[in] PropertyType

Especifica o tipo de propriedade. O tipo pode ser um dos tipos a seguir.

Valor 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 o VARIANT que conterá o tipo de propriedade de solicitação.

Retornar valor

C++

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 de solicitação.

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.

VB

O valor retornado é o valor da propriedade de solicitação.

Comentários

Você deve chamar ICertServerExit::SetContext antes de usar esse método.

Exemplos

BSTR      bstrPropName = NULL;
VARIANT   varProp;

VariantInit( &varProp );

bstrPropName = SysAllocString(L"RequestID");

// Retrieve the request property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetRequestProperty( bstrPropName,
                                          PROPTYPE_LONG,
                                          &varProp );
if (FAILED(hr))
{
    printf("Failed GetRequestProperty [%x]\n", hr);
    goto error;
}
else
{
    // Successfully retrieved property; use varProp as needed.
    // ...
}

// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
    SysFreeString( bstrPropName );

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 certif.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certcli.dll

Confira também

ICertServerExit

ICertServerExit::SetContext

Propriedades do nome