CryptInstallDefaultContext-Funktion (wincrypt.h)

Wichtig Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
 
Die CryptInstallDefaultContext-Funktion installiert einen bestimmten Anbieter als Standardkontextanbieter für den angegebenen Algorithmus.

Syntax

BOOL CryptInstallDefaultContext(
  [in]  HCRYPTPROV           hCryptProv,
  [in]  DWORD                dwDefaultType,
  [in]  const void           *pvDefaultPara,
  [in]  DWORD                dwFlags,
  [in]  void                 *pvReserved,
  [out] HCRYPTDEFAULTCONTEXT *phDefaultContext
);

Parameter

[in] hCryptProv

Das Handle des Kryptografiedienstanbieters, der als Standardkontext verwendet werden soll. Dieses Handle wird mithilfe der CryptAcquireContext-Funktion abgerufen.

[in] dwDefaultType

Gibt den Typ des zu installierenden Kontexts an. Dies muss einer der folgenden Werte sein.

Wert Bedeutung
CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID
Installiert den Standardanbieter, der zum Überprüfen eines einzelnen Zertifikatsignaturtyps verwendet wird.

Der parameter pvDefaultPara ist die Adresse einer NULL-beendeten ANSI-Zeichenfolge, die den Objektbezeichner des Zertifikatsignaturalgorithmus zum Installieren des Anbieters für z. B. szOID_OIWSEC_md5RSA enthält. Wenn der parameter pvDefaultParaNULL ist, wird der angegebene Anbieter verwendet, um alle Zertifikatsignaturen zu überprüfen. Der parameter pvDefaultPara kann nicht NULL sein, wenn das flag CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG festgelegt ist.

CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID
Installiert den Standardanbieter, der zum Überprüfen mehrerer Zertifikatsignaturtypen verwendet wird.

Der parameter pvDefaultPara ist die Adresse einer CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA-Struktur , die ein Array von Objektbezeichnern enthält, die die Zertifikatsignaturalgorithmen identifizieren, für die der angegebene Anbieter installiert werden soll.

[in] pvDefaultPara

Gibt das Objekt oder die Objekte an, für die der Standardkontextanbieter installiert werden soll. Das Format dieses Parameters hängt vom Inhalt des dwDefaultType-Parameters ab.

[in] dwFlags

Eine Reihe von Flags, die das Verhalten dieser Funktion ändern. Dies kann null oder eine Kombination aus einem oder mehreren der folgenden Werte sein.

Wert Bedeutung
CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG
Das durch den hCryptProv-Parameter angegebene Anbieterhandle wird automatisch freigegeben, wenn der Prozess oder thread endet. Wenn dieses Flag nicht angegeben ist, liegt es in der Verantwortung des Aufrufers, das Anbieterhandle mithilfe der CryptReleaseContext-Funktion freizugeben, wenn das Handle nicht mehr benötigt wird. Das Anbieterhandle wird nicht freigegeben, wenn die CryptUninstallDefaultContext-Funktion aufgerufen wird, bevor der Prozess oder Thread beendet wird.
CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG
Der Anbieter gilt für alle Threads im Prozess. Wenn dieses Flag nicht angegeben ist, gilt der Anbieter nur für den aufrufenden Thread. Der parameter pvDefaultPara darf nicht NULL sein, wenn dieses Flag festgelegt ist.

[in] pvReserved

Dieser Parameter ist für die zukünftige Verwendung reserviert.

[out] phDefaultContext

Die Adresse einer HCRYPTDEFAULTCONTEXT-Variable , die das Standardkontexthandle empfängt. Dieses Handle wird an die Funktion CryptUninstallDefaultContext übergeben, um den Standardkontextanbieter zu deinstallieren.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero (TRUE). Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Hinweise

Die installierten Standardkontextanbieter sind stapelgeordnet. Daher beginnt das System bei der Suche nach einem Standardkontextanbieter mit dem zuletzt installierten Anbieter. Die Liste der Anbieter pro Thread wird vor der Liste der Anbieter pro Prozess durchsucht. Nachdem eine Übereinstimmung gefunden wurde, sucht das System nicht mehr nach anderen Übereinstimmungen.

Das installierte Anbieterhandle muss zur Verwendung verfügbar bleiben, bis CryptUninstallDefaultContext aufgerufen wird oder der Thread oder Prozess beendet wird.

Anforderungen

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

Weitere Informationen

CryptUninstallDefaultContext