CertOpenServerOcspResponse-Funktion (wincrypt.h)

Die CertOpenServerOcspResponse-Funktion öffnet ein Handle für ein Onlinezertifikat status Protokollantwort (OCSP), die einer Serverzertifikatkette zugeordnet ist.

Syntax

HCERT_SERVER_OCSP_RESPONSE CertOpenServerOcspResponse(
  [in] PCCERT_CHAIN_CONTEXT                 pChainContext,
  [in] DWORD                                dwFlags,
       PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA pOpenPara
);

Parameter

[in] pChainContext

Die Adresse einer CERT_CHAIN_CONTEXT-Struktur , die die Zertifikatkette enthält.

[in] dwFlags

Wert Bedeutung
0
0x00000000
Diese API versucht, eine anfängliche OCSP-Antwort abzurufen, bevor sie zurückgibt, was bedeutet, dass sie während des Abrufs blockiert wird.
CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG
0x00000001
Legen Sie dieses Flag so fest, dass es sofort zurückgegeben wird, ohne den ersten synchronen Abruf vorzunehmen.

pOpenPara

Dieser Parameter wird nicht verwendet und muss NULL sein.

Rückgabewert

Gibt bei erfolgreicher Ausführung ein Handle an die OCSP-Antwort zurück, die einer Serverzertifikatkette zugeordnet ist. andernfalls NULL. Dieses Handle muss an die CertCloseServerOcspResponse-Funktion übergeben werden, wenn es nicht mehr benötigt wird.

Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Mögliche Fehlercodes, die von der GetLastError-Funktion zurückgegeben werden, umfassen folgendes, sind jedoch nicht beschränkt auf:

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig.
CRYPT_E_NOT_IN_REVOCATION_DATABASE
Das Endzertifikat enthält keine OCSP-AIA-URL (Authority Information Access).

Bemerkungen

Wenn dwFlags auf 0 festgelegt ist, versucht die CertOpenServerOcspResponse-Funktion , eine anfängliche OCSP-Antwort abzurufen, bevor sie zurückgegeben wird. Es blockiert seinen Prozessthread während des Abrufs. Die CertOpenServerOcspResponse-Funktion erstellt einen Hintergrundthread, der zeit gültige OCSP-Antworten vorgibt. Wenn die erste OCSP-Antwort nicht erfolgreich abgerufen werden kann, wird weiterhin ein Nicht-NULL-Handle zurückgegeben, wenn nicht einer der oben genannten Fehlerfälle.

Wenn dwFlags auf 1 oder CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG festgelegt ist, wird die CertOpenServerOcspResponse-Funktion sofort zurückgegeben, ohne den ersten synchronen Abruf durchzuführen.

Die CertOpenServerOcspResponse-Funktion erhöht die Verweisanzahl für den durch den pChainContext-Parameter dargestellten Kettenkontext. Wenn Sie die Verwendung des Kettenkontexts abgeschlossen haben, schließen Sie das zurückgegebene Handle, indem Sie die CertCloseServerOcspResponse-Funktion aufrufen.

Die CertOpenServerOcspResponse-Funktion initialisiert Konfigurationseinstellungen, die von den folgenden Funktionen verwendet werden:

Zunächst initialisiert die CertOpenServerOcspResponse-Funktion die Einstellungen basierend auf den Standardwerten in Wincrypt.h. Wenn die Funktion anschließend den in CERT_CHAIN_CONFIG_REGPATH definierten Registrierungsschlüssel findet, aktualisiert sie die zuvor initialisierten Werte mit den Registrierungswerten.

Die folgenden Konfigurationseinstellungsnamen und Standardwerte werden von dieser Funktion initialisiert:

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME

    L"SrvOcspRespMinValiditySeconds"

    Die minimale Gültigkeitsdauer der OCSP-Serverantwort, die von CertGetServerOcspResponseContext zurückgegeben werden soll. Die Gültigkeit der OCSP-Antwort muss so lang sein, dass sie vom Client als gültig behandelt wird.

  • CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT

    (10 × 60)

    10 Minuten.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME

    L"SrvOcspRespUrlRetrievalTimeoutMilliseconds"

    Dies ist die maximale Zeit, bis ein Timeout einer OCSP-Antwort vor dem Abrufen der Draht-URL erfolgt.

  • CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT

    (15 × 1000)

    15 Sekunden.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMaxBeforeNextUpdateSeconds"

    Dies ist die maximale Anzahl von Sekunden zum Ausführen eines OcSP-Antwortabrufs eines Servers vor dem NextUpdate-Datum einer OCSP-Antwort. Der OCSP-Antwortthread des Servers wartet, bis die aktuelle Zeit größer oder gleich dem NextUpdate-Datum abzüglich dieser Anzahl von Sekunden ist, um einen Vorababruf durchzuführen.

  • CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (4 ×60 × 60)

    4 Stunden.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinBeforeNextUpdateSeconds"

    Dies ist die mindeste Anzahl von Sekunden zum Ausführen eines OcSP-Antwortabrufs für einen Server vor dem NextUpdate-Datum einer OCSP-Antwort. Wenn die aktuelle Zeit größer oder gleich dem NextUpdate-Datum abzüglich dieser Anzahl von Sekunden ist, wartet der OCSP-Antwortthread des Servers bis nach dem NextUpdate-Datum plus der CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME Anzahl von Sekunden, bevor er einen Prefetch-Abruf durchführt.

  • CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT

    (2 × 60)

    2 Minuten.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME

    L"SrvOcspRespMinAfterNextUpdateSeconds"

    Dies ist die mindeste Anzahl von Sekunden zum Ausführen eines OcSP-Antwort-Vorababrufs eines Servers nach dem NextUpdate-Datum einer OCSP-Antwort. Wenn die aktuelle Zeit größer als das NextUpdate-Datum abzüglich der CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME Anzahl von Sekunden, aber kleiner als das NextUpdate-Datum ist, wartet der OCSP-Antwortthread des Servers diese Anzahl von Sekunden nach dem NextUpdate-Datum, um einen Prefetch-Abruf durchzuführen.

  • CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT

    (1 × 60)

    1 Minute.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CertCloseServerOcspResponse