Share via


ICertServerExit::GetCertificateExtension-Methode (certif.h)

Die GetCertificateExtension-Methode ruft eine angegebene Zertifikaterweiterung ab.

Beachten Sie, dass sich Zertifikaterweiterungen von Zertifikateigenschaften unterscheiden. Eigenschaften sind generische Daten, die an das Anforderungsobjekt angefügt sind. Einige dieser Eigenschaften werden im Zertifikat codiert (Beispiel: BeginDate), während andere nur verwendet werden, um Anforderungen in der Warteschlange und im Protokoll zu markieren. Nicht deaktivierte Erweiterungen werden im Zertifikat codiert. Erweiterungen werden immer mit einem Objektbezeichner gekennzeichnet und weisen immer ein kritisches/nicht kritisches Flag auf.

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 Typen sein.

Wert Bedeutung
PROPTYPE_LONG
Signierte lange Daten
PROPTYPE_DATE
Datum/Uhrzeit
PROPTYPE_BINARY
Der Erweiterungswert wird unverändert abgerufen und 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 *pvarValue wird auf den VARIANT-Wert festgelegt, der den Erweiterungswert enthält.

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

Sie müssen ICertServerExit::SetContext aufrufen, bevor Sie diese Methode verwenden.

Beispiele

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

Anforderungen

   
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

ICertServerExit

ICertServerExit::GetCertificateExtensionFlags

ICertServerExit::SetContext