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 |
---|---|
|
Interne Anforderungs-ID |
|
Gültigkeitsdatum des Zertifikatanfangs |
|
Ablaufdatum des Zertifikats |
|
Betreffschlüssel |
|
Objekt-ID (OID) des Antragstellerschlüsselalgorithmus |
|
Parameter des Antragstellerschlüsselalgorithmus |
|
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. |
|
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 |
---|---|
|
Der Typ der Zertifizierungsstelle. Dies kann einer der folgenden Werte sein (definiert in Certsrv.h):
|
|
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. |
|
Der Zertifizierungsstellenzertifikatstatus. Mögliche Werte:
|
|
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. |
|
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. |
|
Der CRL-Status. Mögliche Werte:
|
|
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. |
|
Gibt an, ob die Zertifizierungsstelle einen Verzeichnisdienst verwendet. Dies kann einer der folgenden Werte sein:
|
|
Der DNS-Name des Servers, auf dem die Zertifizierungsstelle gehostet wird. |
|
Der Registrierungsspeicherort, der für die Verwendung durch das Modul verfügbar ist. |
|
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. |
|
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. |
|
Gibt an, ob der Anfordernde autorisiert ist, das Zertifikat anzufordern. Dies kann einer der folgenden Werte sein:
|
|
Der sanitisierte Name für die Zertifizierungsstelle. Informationen zu sanitisierten Zertifizierungsstellennamen finden Sie unter ICertConfig::GetConfig. |
|
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 |
---|---|
|
Signierte lange Daten |
|
Datum/Uhrzeit |
|
Binärdaten |
|
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 |