Angeben von Schannel-Verschlüsselungen und Chiffrestärken
Beim Austausch von Client-/Server-Informationen besteht das Standardverhalten von Schannel darin, die beste verfügbare Verschlüsselung basierend auf den in der Registrierung aktivierten Verschlüsselungen auszuhandeln. Anwendungen können die für eine Verbindung zulässigen Verschlüsselungs- und Verschlüsselungsstärken einschränken, indem Elemente der SCHANNEL_CRED-Struktur wie folgt verwendet werden:
- Legen Sie den palgSupportedAlgs-Member auf ein Array von ALG_ID fest, das die zulässigen Verschlüsselungen enthält. Weitere Informationen finden Sie unter Verschlüsselungs-IDs.
- Legen Sie die Elemente dwMinimumCipherStrength und/oder dwMaximumCipherStrength auf die zulässigen minimalen und maximalen Stärken fest. Weitere Informationen finden Sie unter Verschlüsselungsstärkewerte.
- Übergeben Sie die SCHANNEL_CRED-Struktur (mithilfe des pAuthData-Parameters ) in einem Aufruf der AcquireCredentialsHandle-Funktion . Diese Funktion gibt ein Handle für Anmeldeinformationen zurück.
- Geben Sie das Anmeldeinformationshandle in einem Aufruf der clientseitigen Funktion InitializeSecurityContext (General) oder der serverseitigen AcceptSecurityContext -Funktion (Allgemein) an.
Verschlüsselungs-IDs
Das Standardverhalten von Schannel besteht darin, die beste verfügbare Verschlüsselung basierend auf Schannel-Einträgen in der Systemregistrierung anzufordern. Ändern Sie die Systemregistrierung nicht. die Einstellungen, die für Schannel enthalten sind, werden global verwendet und wirken sich auf andere Anwendungen aus. Die Liste der gültigen Konstanten finden Sie unter ALG_ID.
Verschlüsselungsstärkewerte
Dieses Schannel-Feature wird in der Regel verwendet, um eine Verbindung auf Verschlüsselungen der Haushalts- oder Exportstärke zu beschränken. Inländische Stärken umfassen 56 und 128 Bit, während die Exportstärke auf 56 Bit beschränkt ist. Wenn Sie die Minimal- und Maximalwerte auf Null festlegen, verwendet Schannel alle verfügbaren Verschlüsselungsstärken.
Legen Sie mithilfe von TLS oder SSL 3.0 den dwMinimumCipherStrength-Member auf -1 (negativ) fest, um die Verschlüsselungssammlungen "Null Cipher" zu aktivieren, die Signaturen, aber keine Verschlüsselung bereitstellen. Wenn dwMaximumCipherStrength ebenfalls auf -1 festgelegt ist, werden nur die "Null Cipher"-Suites aktiviert. Diese Einstellung ist nur für die Entwicklung vorgesehen und sollte nicht in Produktionssystemen verwendet werden.
Abfragen von Verschlüsselungsinformationen
Um die Verschlüsselungsstärkeeinstellungen für Anmeldeinformationen abzurufen, rufen Sie die QueryCredentialsAttributes-Funktion auf, und geben Sie SECPKG_ATTR_CIPHER_STRENGTHS als ulAttribute-Parameter an.
Um die Liste der unterstützten Algorithmen für Anmeldeinformationen abzurufen, rufen Sie queryCredentialsAttributes mit SECPKG_ATTR_SUPPORTED_ALGS als ulAttribute-Parameter auf.