ICertAdmin::IsValidCertificate-Methode (certadm.h)
Die IsValidCertificate-Methode überprüft das Zertifikat anhand des Schlüssels der Zertifizierungsstelle (Ca ) und überprüft, ob das Zertifikat nicht widerrufen wurde. Diese Methode wurde zuerst in der ICertAdmin-Schnittstelle definiert.
Syntax
HRESULT IsValidCertificate(
[in] const BSTR strConfig,
[in] const BSTR strSerialNumber,
[out, retval] LONG *pDisposition
);
Parameter
[in] strConfig
Stellt eine gültige Konfigurationszeichenfolge für die Zertifizierungsstelle im Format COMPUTERNAME\CANAME dar, wobei COMPUTERNAME der Netzwerkname des Zertifikatdiensteservers und CANAME der allgemeine Name der Zertifizierungsstelle ist, wie er während der Einrichtung der Zertifikatdienste eingegeben wurde. Informationen zum Namen der Konfigurationszeichenfolge finden Sie unter ICertConfig.
[in] strSerialNumber
Gibt eine Seriennummer an, die das zu überprüfende Zertifikat identifiziert. Die Zeichenfolge muss die Seriennummer als gerade Zahl von Hexadezimalstellen angeben. Bei Bedarf kann der Zahl eine Null vorangestellt werden, um eine gerade Anzahl von Ziffern zu erzeugen. Es darf nicht mehr als eine führende Null verwendet werden.
[out, retval] pDisposition
Ein Zeiger auf einen LONG-Wert , der den Dispositionswert empfängt.
Rückgabewert
C++
Wenn die Methode erfolgreich ist und der pDisposition-Parameter auf einen der folgenden Werte festgelegt 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.
VB
Der Rückgabewert gibt die Disposition des Zertifikats an. Dieser Wert ist einer der folgenden Werte. (Diese Werte sind in Certadm.h definiert.)Rückgabecode | Beschreibung |
---|---|
|
Der Aufruf wurde nicht abgeschlossen. |
|
Der Aufruf schlug fehl. |
|
Das Zertifikat wurde widerrufen. |
|
Das Zertifikat ist weiterhin gültig. |
|
Das Zertifikat wurde nie ausgestellt. |
|
Das Zertifikat steht aus. |
Hinweise
Diese Methode bestimmt nur, ob ein Zertifikat ausgestellt wurde und derzeit nicht widerrufen wird. Es wird nicht überprüft, ob die aktuelle Uhrzeit und das aktuelle Datum innerhalb des Zeitraums liegen, für den das Zertifikat gültig ist (die Zertifikateigenschaften NotBefore und NotAfter). Eine Anwendung, die diese Methode verwendet, ist auch für die Überprüfung des Zertifikatablaufs verantwortlich.
Verwaltungsaufgaben verwenden DCOM. Code, der diese Schnittstellenmethode aufruft, wie in einer früheren Version von Certadm.h definiert, wird auf Windows-basierten Servern ausgeführt, solange der Client und der Server dasselbe Windows-Betriebssystem ausführen.
Beispiele
BSTR bstrCA = NULL; // Machine\CAName
BSTR bstrSerial = NULL; // Contains the certificate
// serial number
long nDisp; // Contains the certificate
// disposition
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
bstrSerial = SysAllocString(L"<SERIALNUMBERHERE>");
if (NULL == bstrCA || NULL == bstrSerial)
{
printf("Memory allocation failed\n");
goto error;
}
// Determine whether the certificate is valid.
// pCertAdmin is a previously instantiated ICertAdmin
// object pointer.
hr = pCertAdmin->IsValidCertificate(bstrCA, bstrSerial, &nDisp);
if (FAILED(hr))
{
printf("Failed IsValidCertificate [%x]\n", hr);
goto error;
}
// Use nDisp as needed.
// Done processing.
error:
// Free BSTR values.
if (NULL != bstrCA)
SysFreeString(bstrCA);
if (NULL != bstrSerial)
SysFreeString(bstrSerial);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certadm.h (include Certsrv.h) |
Bibliothek | Certidl.lib |
DLL | Certadm.dll |