Share via


ICertServerPolicy::GetCertificateExtension-Methode (certif.h)

Die GetCertificateExtension-Methode ruft eine bestimmte Zertifikaterweiterung ab.

Syntax

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

Parameter

[in] strExtensionName

Eine Zeichenfolge, die den Namen der Erweiterung enthält.

[in] Type

Gibt den Typ der Erweiterung an. Der Typ kann einer der folgenden Werte sein.

Wert Bedeutung
PROPTYPE_LONG
Signierte lange Daten
PROPTYPE_DATE
Datum/Uhrzeit
PROPTYPE_BINARY
Der Erweiterungswert wird unverändert abgerufen und ist bei Bedarf ASN.1-codiert.
PROPTYPE_STRING
Der Erweiterungswert ist ASN.1-codiert als IA5-Zeichenfolge.

[out] pvarValue

Ein Zeiger auf einen VARIANT-Wert , der den angeforderten Erweiterungswert empfängt.

Rückgabewert

C++

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück, und der pvarValue-Parameter enthält den Erweiterungswert.

Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

VB

Der Rückgabewert ist der angeforderte Erweiterungswert.

Hinweise

Die SetContext-Methode muss vor dem Aufrufen dieser Methode aufgerufen werden. Der Aufruf von SetContext gibt an, welche Anforderung als aktueller Kontext verwendet wird.

Zertifikaterweiterungen unterscheiden sich von Zertifikateigenschaften. Eigenschaften sind generische Daten, die an die Anforderung angefügt sind. Einige dieser Eigenschaften werden in das Zertifikat codiert (z. B. BeginDate), während andere nur verwendet werden, um Anforderungen in der Warteschlange und im Protokoll zu markieren. Nicht deaktivierte Erweiterungen werden in das Zertifikat codiert. Erweiterungen werden immer mit einem Objektbezeichner gekennzeichnet und verfügen immer über ein kritisches/nicht kritisches Flag.

Beispiele

VARIANT    varExt;
HRESULT    hr;

VariantInit(&varExt);
// Get the Extension value.
// bstrExtName is BSTR assigned by EnumerateExtensions.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->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);

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certif.h (include Certsrv.h)
Bibliothek Certidl.lib
DLL Certcli.dll

Weitere Informationen

ICertServerPolicy

ICertServerPolicy::GetCertificateExtensionFlags

ICertServerPolicy::SetContext