Freigeben über


ICertServerPolicy::GetCertificateProperty-Methode (certif.h)

Die GetCertificateProperty-Methode gibt eine benannte Eigenschaft aus einem Zertifikat zurück.

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

Syntax

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

Parameter

[in] strPropertyName

Gibt die abzurufende benannte Eigenschaft an. Es gibt einen Bestandssatz von Zertifikateigenschaften, die als Namenseigenschaften bezeichnet werden, die immer gültig sind und durch Aufrufen dieser Methode abgerufen werden können. Informationen zu diesen Eigenschaften finden Sie unter Namenseigenschaften. Neben Namenseigenschaften können auch andere Eigenschaften abgerufen werden.

Auf die Eigenschaften DistinguishedName und RawName des Zertifikats kann ICertServerExit::GetCertificateProperty erst zugreifen, nachdem das Richtlinienmodul die Verarbeitung der Anforderung abgeschlossen hat und das Zertifikat ausgestellt wurde. Die Eigenschaften DistinguishedName und RawName des ausgestellten Zertifikats können auch von einem Exitmodul mit ICertServerExit::GetCertificateProperty gelesen werden.

Es gibt zusätzliche Zertifikateigenschaften, auf die von GetCertificateProperty nicht zugegriffen werden kann. Diese Eigenschaften werden erst festgelegt, nachdem das Richtlinienmodul VR_INSTANT_OK zurückgegeben und das Zertifikat ausgestellt wurde. Eine vollständige Liste aller Eigenschaften in einem ausgestellten Zertifikat finden Sie unter GetCertificateProperty.

Die folgenden Eigenschaften sind für Zertifikate eindeutig und können von GetCertificateProperty gelesen werden.

Certificate-Eigenschaft Bedeutung
RequestID
Signiert lang
Interne Anforderungs-ID
NotBefore
Datum/Uhrzeit
Gültigkeitsdatum des Zertifikatanfangs
NotAfter
Datum/Uhrzeit
Ablaufdatum des Zertifikats
RawPublicKey
Binary
Betreffschlüssel
PublicKeyAlgorithm
String
Objekt-ID (OID) des Antragstellerschlüsselalgorithmus
RawPublicKeyAlgorithmParameters
Binary
Parameter des Antragstellerschlüsselalgorithmus
GeneralFlags
PROPTYPE_LONG
GeneralFlags in der Registrierungsanforderung. Dies ist ein bitweises OR von Werten. Der einzige interessante Wert sollte der Flagwert von 0x00000400 sein, der die Zertifizierungsstelle angibt, die Anforderung nicht in der Datenbank beizubehalten. Wenn sich die Zertifizierungsstelle im datenbanklosen Modus befindet (d. h. für Windows Server 2008 R2 und höher ist für die Datenbank der Zertifizierungsstelle das flag DBFLAGS_ENABLEVOLATILEREQUESTS festgelegt), verwenden Sie certutil -getreg DbFlags und certutil -setreg DBFlags zum Konfigurieren der Zertifizierungsstelle im datenbanklosen Modus.

Windows Vista und Windows Storage Server 2003: Dieses Feld wird nicht unterstützt.

RequesterNameFromOldCertificate
PROPTYPE_STRING
Gibt bei Verlängerungsanforderungen den Namen des Anfordernden-Kontos zurück (z. B. contoso\requester).
 

Die folgenden Eigenschaften gelten für die Zertifizierungsstelle.

Ca-Eigenschaft Bedeutung
CAType
Long
Der Typ der Zertifizierungsstelle. Dies kann einer der folgenden Werte sein (definiert in Certsrv.h):
  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CertCount
Long
Die Anzahl der Zertifizierungsstellenzertifikate. Dieser Wert ist 1 und die Anzahl der Wiederholungen, mit denen die Zertifizierungsstelle verlängert wurde. Informationen zur Verlängerung finden Sie unter Zertifizierung.
CertState
Long
Der Zertifizierungsstellenzertifikatstatus. Mögliche Werte:
  • CA_DISP_ERROR: Das Zertifizierungsstellenzertifikat wurde nie ausgestellt.
  • CA_DISP_REVOKED: Das Zertifizierungsstellenzertifikat wurde widerrufen.
  • CA_DISP_VALID: Das Zertifizierungsstellenzertifikat ist weiterhin gültig.
  • CA_DISP_INVALID: Das Zertifizierungsstellenzertifikat ist abgelaufen.
Dieser Eigenschaftsname kann mit ".#" angefügt werden, wobei # einen Zertifizierungsstellenzertifikatindex darstellt (oder im Fall der CRLSuffix-Eigenschaft einen CRL-Index). Informationen zu Zertifikats- und Zertifikatsperrlistenindizes finden Sie unter Erneuerung der Zertifizierungsstelle.
CertSuffix
String
Das Suffix für das Zertifizierungsstellenzertifikat. Das Suffix ist eine leere Zeichenfolge für Zertifizierungsstellenzertifikate mit einem Index von null. Andernfalls wird das Suffix (in Form von "(nn)", wobei nn der Zertifikatindex ist) auf alle URLs angewendet, die auf in Dateien oder Verzeichnisdienstobjekten gespeicherte Zertifizierungsstellenzertifikate verweisen. Bei Nicht-LDAP-URLs wird das Suffix in der Regel vor dem Text ".crt" angezeigt. Bei LDAP-URLs wird das Suffix in der Regel an den ersten "CN=" im vollständigen distinguished-Namen angefügt.

Dieser Eigenschaftsname kann mit ".#" angefügt werden, wobei # einen Zertifizierungsstellenzertifikatindex darstellt (oder im Fall der CRLSuffix-Eigenschaft einen CRL-Index). Informationen zu Zertifikats- und Zertifikatsperrlistenindizes finden Sie unter Erneuerung der Zertifizierungsstelle.

CRLIndex
Long
Der Zertifikatsperrlistenindex (Certificate Revocation List , CRL). Durch das Anfügen eines Zertifikatindexes an diesen Eigenschaftsnamen können Sie den CRL-Index abrufen. Der CRL-Index stimmt nicht unbedingt mit dem Zertifikatindex überein. Weitere Informationen finden Sie unter Zertifizierung.

Dieser Eigenschaftsname kann mit ".#" angefügt werden, wobei # einen Zertifizierungsstellenzertifikatindex darstellt (oder im Fall der CRLSuffix-Eigenschaft einen CRL-Index). Informationen zu Zertifikats- und Zertifikatsperrlistenindizes finden Sie unter Erneuerung der Zertifizierungsstelle.

CRLState
Long
Der CRL-Status. Mögliche Werte:
  • CA_DISP_ERROR: Die Zertifikatsperrliste wird von einem anderen Zertifizierungsstellenzertifikat verwaltet.
  • CA_DISP_REVOKED: Alle nicht abgelaufenen Zertifizierungsstellenzertifikate, die die Zertifikatsperrliste dieses Zertifizierungsstellenzertifikats verwenden, wurden widerrufen.
  • CA_DISP_VALID: Das Zertifizierungsstellenzertifikat wird weiterhin verwendet, um nach Bedarf Zertifikatsperrlisten zu veröffentlichen.
  • CA_DISP_INVALID: Alle Zertifizierungsstellenzertifikate, die die Zertifikatsperrliste dieses Zertifizierungsstellenzertifikats verwenden, sind abgelaufen.
Dieser Eigenschaftsname kann mit ".#" angefügt werden, wobei # einen Zertifizierungsstellenzertifikatindex darstellt (oder im Fall der CRLSuffix-Eigenschaft einen CRL-Index). Informationen zu Zertifikat- und Zertifikatsperrlistenindizes finden Sie unter Erneuerung der Zertifizierungsstelle.
CRLSuffix
String
Das Suffix für die Ca CRL. Das Suffix ist eine leere Zeichenfolge für CRLs mit einem Index von 0. Andernfalls wird das Suffix (in Form von "(nn)", wobei nn der CRL-Index ist) auf alle URLs angewendet, die auf in Dateien oder Verzeichnisdienstobjekten gespeicherte CRLs verweisen. Bei NICHT-LDAP-URLs wird das Suffix in der Regel vor dem CRL-Text angezeigt. Bei LDAP-URLs wird das Suffix in der Regel an den ersten "CN=" im vollständigen distinguished-Namen angefügt.

Dieser Eigenschaftsname kann mit ".#" angefügt werden, wobei # einen Zertifizierungsstellenzertifikatindex darstellt (oder, im Fall der CRLSuffix-Eigenschaft, einen CRL-Index). Informationen zu Zertifikat- und Zertifikatsperrlistenindizes finden Sie unter Erneuerung der Zertifizierungsstelle.

fUseDS
Long
Gibt an, ob die Zertifizierungsstelle einen Verzeichnisdienst verwendet. Dies kann einer der folgenden Werte sein:
  • 0=nein
  • 1=ja
MachineDNSName
String
Der DNS-Name des Servers, auf dem die Zertifizierungsstelle gehostet wird.
ModuleRegistryLocation
String
Der Registrierungsspeicherort, der für die Verwendung durch das Modul verfügbar ist.
RawCACertificate
Binary
Das Zertifizierungsstellenzertifikat.

Dieser Eigenschaftsname kann mit ".#" angefügt werden, wobei # einen Zertifizierungsstellenzertifikatindex darstellt (oder, im Fall der CRLSuffix-Eigenschaft, einen CRL-Index). Informationen zu Zertifikat- und Zertifikatsperrlistenindizes finden Sie unter Erneuerung der Zertifizierungsstelle.

RawCRL
Binary
Die Zertifikatsperrliste (Certificate Revocation List , CRL) der Zertifizierungsstelle.

Dieser Eigenschaftsname kann mit ".#" angefügt werden, wobei # einen Zertifizierungsstellenzertifikatindex darstellt (oder, im Fall der CRLSuffix-Eigenschaft, einen CRL-Index). Informationen zu Zertifikat- und Zertifikatsperrlistenindizes finden Sie unter Erneuerung der Zertifizierungsstelle.

RequesterCAAccess
Long
Gibt an, ob der Anfordernde autorisiert ist, das Zertifikat anzufordern. Dies kann einer der folgenden Werte sein:
  • 0=nein
  • 1=ja
(Das MMC-Snap-In der Zertifizierungsstelle kann verwendet werden, um Zertifikatanforderungsberechtigungen zu steuern.)
SanitizedCAName
String
Der sanitisierte Name für die Zertifizierungsstelle. Informationen zu sanitisierten Zertifizierungsstellennamen finden Sie unter ICertConfig::GetConfig.
SanitizedShortName
String
Der sanitisierte Name für die Zertifizierungsstelle, der gekürzt ist und einen Hashwert enthält, um die Eindeutigkeit sicherzustellen.

[in] PropertyType

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

type Bedeutung
PROPTYPE_LONG
Signierte lange Daten
PROPTYPE_DATE
Datum/Uhrzeit
PROPTYPE_BINARY
Binärdaten
PROPTYPE_STRING
Unicode-Zeichenfolgendaten

[out] pvarPropertyValue

Ein Zeiger auf VARIANT , der den Eigenschaftswert enthält.

Rückgabewert

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück, und *pvarPropertyValue wird auf den VARIANT-Wert festgelegt, der den angeforderten Eigenschaftswert 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.

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

ICertServerPolicy

ICertServerPolicy::SetContext

Namenseigenschaften