Condividi tramite


Metodo ICertServerExit::GetRequestProperty (certif.h)

Il metodo GetRequestProperty restituisce una proprietà denominata da una richiesta.

Si noti che la richiesta viene usata per contenere tutti gli stati associati per la richiesta e il certificato concesso finale che non fa parte del certificato. Di conseguenza, i dati come i tempi di revoca e i dati di eliminazione vengono conservati nell'oggetto dati della richiesta.

Sintassi

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

Parametri

[in] strPropertyName

Specifica la proprietà da recuperare. Esiste un set di scorte di proprietà del certificato, detto proprietà del nome, che sono sempre valide e che possono essere recuperate chiamando questo metodo. Per informazioni su queste proprietà, vedere Proprietà dei nomi.

Altre proprietà valide per le richieste di certificato includono le proprietà della richiesta.

Nota Le proprietà DistinguishedName e RawName della richiesta sono accessibili da GetRequestProperty solo se il certificato viene richiesto tramite una richiesta di certificato PKCS #10 o un altro formato di richiesta supportato che contiene informazioni sul nome soggetto codificato. Si noti che le richieste KeyGen non contengono informazioni sul nome soggetto codificato.
 

Le proprietà seguenti sono univoche per le richieste e sono accessibili tramite il metodo GetRequestProperty .

Proprietà Request Significato
Disposition
Con segno lungo
Eliminazione della richiesta corrente
DispositionMessage
string
Messaggio informativo per l'eliminazione
RawCACertificate
Binary
Certificato per l'autorità di certificazione emittente
RawRequest
Binary
Byte di richiesta non elaborati
RequestAttributes
string
Stringa di attributo (può essere troncata)
RequesterName
string
Nome del richiedente nel formato "DomainName\UserID"
RequestID
Con segno lungo
ID richiesta interno
RequestType
Con segno lungo
Indica la richiesta PKCS #10 o KeyGen
RisoltoWhen
Data/ora
Quando viene risolto
Statuscode
Con segno lungo
Errore di Windows per l'ultima operazione
InviatoWhen
Data/ora
Quando è arrivato
 

La proprietà RequestType sarà uno dei valori seguenti.

Valore Significato
CR_IN_PKCS7
Richiesta di rinnovo o registrazione PKCS #7
CR_IN_PKCS10
Richiesta PKCS #10
CR_IN_KEYGEN
Richiesta Keygen (formato Netscape)
 

Inoltre, altre proprietà possono essere impostate da un tipo di richiesta, estensioni di richiesta o da attributi denominati impostati nell'intestazione di una richiesta.

[in] PropertyType

Specifica il tipo di proprietà. Il tipo può essere uno dei tipi seguenti.

Valore Significato
PROPTYPE_LONG
Dati lunghi firmati
PROPTYPE_DATE
Data/ora
PROPTYPE_BINARY
Dati binari
PROPTYPE_STRING
Dati stringa Unicode

[out] pvarPropertyValue

Puntatore a VARIANT che conterrà il tipo di proprietà della richiesta.

Valore restituito

C++

Se il metodo ha esito positivo, il metodo restituisce S_OK e *pvarPropertyValue è impostato su VARIANT che contiene il valore della proprietà della richiesta.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.

VB

Il valore restituito è il valore della proprietà della richiesta.

Commenti

È necessario chiamare ICertServerExit::SetContext prima di usare questo metodo.

Esempio

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 );

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certif.h (include Certsrv.h)
Libreria Certidl.lib
DLL Certcli.dll

Vedi anche

ICertServerExit

ICertServerExit::SetContext

Proprietà nome