Condividi tramite


Metodo ICertServerExit::GetCertificateExtension (certif.h)

Il metodo GetCertificateExtension ottiene un'estensione del certificato specificata.

Si noti che le estensioni del certificato sono distinte dalle proprietà del certificato. Le proprietà sono dati generici collegati all'oggetto request. Alcune di queste proprietà vengono codificate nel certificato (ad esempio: BeginDate), mentre altre vengono usate solo per contrassegnare le richieste nella coda e nel log. Le estensioni non disabilitate vengono codificate nel certificato. Le estensioni sono sempre contrassegnate con un identificatore di oggetto e hanno sempre un flag critico/non critico.

Sintassi

HRESULT GetCertificateExtension(
  [in]  const BSTR strExtensionName,
  [in]  LONG       Type,
  [out] VARIANT    *pvarValue
);

Parametri

[in] strExtensionName

Stringa contenente il nome dell'estensione.

[in] Type

Specifica il tipo dell'estensione. Il tipo può essere uno dei tipi seguenti.

Valore Significato
PROPTYPE_LONG
Dati lunghi firmati
PROPTYPE_DATE
Data/ora
PROPTYPE_BINARY
Il valore dell'estensione viene recuperato come è e viene codificato ASN.1 se necessario.
PROPTYPE_STRING
Il valore dell'estensione è codificato ASN.1 come stringa IA5.

[out] pvarValue

Puntatore a un valore VARIANT che riceve il valore dell'estensione richiesto.

Valore restituito

C++

Se il metodo ha esito positivo, il metodo restituisce S_OK e *pvarValue è impostato su VARIANT che contiene il valore dell'estensione.

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

VB

Il valore restituito è il valore dell'estensione richiesto.

Commenti

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

Esempio

VARIANT  varExt;
HRESULT  hr;

VariantInit(&varExt);
// Get the Extension value
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->GetCertificateExtension(bstrExtName,
                                              PROPTYPE_BINARY,
                                              &varExt);

if (FAILED(hr))
{
    printf("Failed GetCertificateExtension [%x]\n", hr);
    goto error;
}
// Successful call; Use the value in varExt as needed.
// ...

// When done, clear the Variant
VariantClear(&varExt);

Requisiti

   
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::GetCertificateExtensionFlags

ICertServerExit::SetContext