Freigeben über


ICertServerPolicy::SetCertificateExtension-Methode (certif.h)

Die SetCertificateExtension-Methode fügt dem Zertifikat eine neue Erweiterung hinzu.

Syntax

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

Parameter

[in] strExtensionName

Gibt den Objektbezeichner (Object Identifier, OID) für die erweiterung an, die festgelegt werden soll. Die Zeichenfolge muss mindestens 31 nicht ungültige Zeichen lang sein.

[in] Type

Gibt den Typ der festzulegenden Erweiterung an. Der Type-Parameter muss mit dem Datentyp von pvarValue übereinstimmen, der im Feld vt der VARIANT-Struktur festgelegt ist. Der Type-Parameter kann auf einen der folgenden Typen festgelegt werden.

Wert Bedeutung
PROPTYPE_LONG
Signierte lange Daten.
PROPTYPE_DATE
Datum/Uhrzeit.
PROPTYPE_BINARY
Der Erweiterungswert wird so festgelegt, dass er bei Bedarf ASN.1-codiert ist.
PROPTYPE_STRING
Der Erweiterungswert wird ASN.1 als IA5-Zeichenfolge codiert, bevor er im neuen Zertifikat platziert wird.
Hinweis Sie sollten PROPTYPE_STRING nur für einen Erweiterungswert verwenden, der aus einer einzelnen URL besteht, wenn die URL automatisch als IA5-Zeichenfolge codiert werden soll. Andernfalls codieren Sie die URL selbst als IA5-Zeichenfolge, und übergeben Sie den codierten Wert als PROPTYPE_BINARY.
 

[in] ExtFlags

Gibt die Flags für die festgelegte Erweiterung an. Verwenden Sie den Wert null, wenn kein Flag festgelegt werden soll, oder verwenden Sie einen der folgenden Flagwerte. Sie können diese Flags mithilfe des OR-Operators verknüpfen, und Sie können sie auch verknüpfen, indem Sie den OR-Operator mit richtlinienprivaten Erweiterungsflags (die hohen 8 Bits des Felds EXTENSION_POLICY_MASK) verwenden.

Hinweis Wenn ExtFlags auf EXTENSION_DISABLE_FLAG festgelegt ist, wird die Erweiterung im Serverprotokoll deaktiviert und dem Zertifikat nicht hinzugefügt.
 
Wert Bedeutung
EXTENSION_CRITICAL_FLAG
Dies ist eine wichtige Erweiterung.
EXTENSION_DISABLE_FLAG
Die Erweiterung wird nicht verwendet.

[in] pvarValue

Gibt den der Erweiterung zugeordneten Wert an. Beachten Sie, dass der VARIANT-Typ des Werts mit dem Type-Parameter übereinstimmen muss, wie in der folgenden Tabelle gezeigt.

Wert Bedeutung
PROPTYPE_LONG
VT_I4
PROPTYPE_DATE
VT_DATE
PROPTYPE_BINARY
VT_BSTR
PROPTYPE_STRING
VT_BSTR

Rückgabewert

VB

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück.

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.

Hinweise

Verwenden Sie Erweiterungen, um zusätzliche Informationen in das Zertifikat aufzunehmen, z. B. zusätzliche Antragsteller- oder Nutzungsinformationen. Weitere Informationen finden Sie unter Erweiterungshandler.

Rufen Sie die SetCertificateExtension-Methode aus Ihrer Implementierung der ICertPolicy2::VerifyRequest-Methode auf. Sie müssen die ICertServerPolicy::SetContext-Methode aufrufen, bevor Sie die SetCertificateExtension-Methode aufrufen.

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