SCH_CREDENTIALS Struktur (schannel.h)
Die SCH_CREDENTIALS-Struktur enthält Initialisierungsinformationen für eine Schannel-Anmeldeinformationen.
Syntax
typedef struct _SCH_CREDENTIALS {
DWORD dwVersion;
DWORD dwCredFormat;
DWORD cCreds;
PCCERT_CONTEXT *paCred;
HCERTSTORE hRootStore;
DWORD cMappers;
_HMAPPER **aphMappers;
struct _HMAPPER;
DWORD dwSessionLifespan;
DWORD dwFlags;
DWORD cTlsParameters;
PTLS_PARAMETERS pTlsParameters;
} SCH_CREDENTIALS, *PSCH_CREDENTIALS;
Member
dwVersion
Auf SCH_CREDENTIALS_VERSION festgelegt.
dwCredFormat
Kernelmodus Schannel unterstützt die folgenden Werte.
Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP und Windows XP/2000: Dieses Flag wird nicht unterstützt und muss null sein.
Wert | Bedeutung |
---|---|
|
Das paCred-Element der übergebenen SCH_CREDENTIALS-Struktur muss ein Zeiger auf ein Bytearray von Länge 20 sein, das den Zertifikat-Fingerabdruck enthält. Das Zertifikat wird angenommen, dass es sich im "MY"-Speicher des lokalen Computers befindet. |
|
Das paCred-Element der SCH_CREDENTIALS Struktur verweist auf eine SCHANNEL_CERT_HASH_STORE Struktur. |
cCreds
Die Anzahl der Strukturen im paCred-Array.
paCred
Ein Array von Zeigern auf CERT_CONTEXT Strukturen. Jeder Zeiger gibt ein Zertifikat an, das einen privaten Schlüssel enthält, der in der Authentifizierung der Anwendung verwendet werden soll.
Clientanwendungen übergeben häufig eine leere Liste und hängen entweder von Schannel ab, um ein entsprechendes Zertifikat zu finden oder später ein Zertifikat zu erstellen.
hRootStore
Optional. Gültig nur für Serveranwendungen. Behandeln Sie einen Zertifikatspeicher, der selbst signierte Stammzertifikate für Zertifizierungsstellen (CAs) enthält, die von der Anwendung vertrauenswürdig sind. Dieses Element wird nur von serverseitigen Anwendungen verwendet, die die Clientauthentifizierung erfordern.
cMappers
Reserviert.
aphMappers
Reserviert.
_HMAPPER
dwSessionLifespan
Die Anzahl der Millisekunden, die Schannel die Sitzung im Sitzungscache behält. Nach diesem Zeitpunkt benötigen alle neuen Verbindungen zwischen dem Client und dem Server eine neue Schannel-Sitzung. Legen Sie den Wert dieses Members auf Null fest, um den Standardwert von 36000000 Millisekunden (zehn Stunden) zu verwenden.
dwFlags
Enthält Bit-Flags, die das Verhalten von Schannel steuern. Dieses Element kann null oder eine Kombination aus den folgenden Werten sein.
Wert | Bedeutung |
---|---|
|
Nur Client.
Dieses Flag ist das Gegenteil von SCH_CRED_MANUAL_CRED_VALIDATION und ist Teil des Standardverhaltens von Schannel. |
|
Weisen Sie Schannel an, das CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL-Flag an die CertGetCertificateChain-Funktion zu übergeben, wenn sie die angegebenen Anmeldeinformationen während eines Aufrufs von AcquireCredentialsHandle (Schannel) überprüft.
Windows Server 2003 und Windows XP/2000: Dieses Flag wird nicht unterstützt. |
|
Server nur.
Wenn dieses Flag festgelegt ist, können vollständige Handshakes, die mit diesen Anmeldeinformationen ausgeführt werden, keine Verbindungen zulassen. Ein Cacheeintrag wird erstellt, sodass die Sitzung später mithilfe der ApplyControlToken-Funktion erneut fortgesetzt werden kann. |
|
Wenn Sie nach widerrufenen Zertifikaten suchen, ignorieren Sie CRYPT_E_NO_REVOCATION_CHECK Fehler. Weitere Einschränkungen finden Sie unter Hinweise. |
|
Wenn Sie nach widerrufenen Zertifikaten suchen, ignorieren Sie CRYPT_E_REVOCATION_OFFLINE Fehler. Weitere Einschränkungen finden Sie unter Hinweise. |
|
Nur Client.
Verhindern Sie, dass Schannel die empfangene Serverzertifikatkette überprüft. |
|
Nur Client.
Verhindern Sie, dass Schannel versucht, automatisch eine Zertifikatkette für die Clientauthentifizierung bereitzustellen. |
|
Nur Client.
Verhindern Sie, dass Schannel den angegebenen Zielnamen mit den Betreffnamen in Serverzertifikaten vergleicht. |
|
Server nur.
Verhindern Sie, dass Schannel die integrierten Systemzertifikatzuordnungsfunktionen verwendet, um Clientzertifikate einem Benutzerkonto zuzuordnen. |
|
Überprüfen Sie beim Überprüfen einer Zertifikatkette alle Zertifikate für den Widerruf. Weitere Einschränkungen finden Sie unter Hinweise. |
|
Überprüfen Sie beim Überprüfen einer Zertifikatkette nicht den Stamm für den Widerruf. Weitere Einschränkungen finden Sie unter Hinweise. |
|
Überprüfen Sie beim Überprüfen einer Zertifikatkette nur das letzte Zertifikat für den Widerruf. Weitere Einschränkungen finden Sie unter Hinweise. |
|
Nur Client.
Schannel versucht, automatisch eine Zertifikatkette für die Clientauthentifizierung bereitzustellen. Dieser Wert ist das Gegenteil von SCH_CRED_NO_DEFAULT_CREDS. |
|
Weisen Sie Schannel an, Daten zu teilen, die in zwei separaten Datensätzen verschlüsselt werden sollen, um die Schwäche zu bekämpfen, die im SSL/TLS-Protokoll vorhanden sind, wenn sie mit symmetrischer Verschlüsselungssuite mit dem Verschlüsselungskettenmodus verwendet werden. Weitere Informationen finden Sie unter "Sicherheitsrisiken in SSL/TLS könnte Die Offenlegung von Informationen zulassen" in der Hilfe- und Support-Wissensdatenbank unter http://support.microsoft.com/kb/2643584.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP und Windows XP/2000: Dieses Flag wird nicht unterstützt. |
|
Schannel sendet das Stammzertifikat als Teil der Zertifikatnachricht.
Hinweis Das stammzertifikat, das über das Netzwerk vom Schannel-Client oder Server gesendet wird, ist nicht vertrauenswürdig. Es sollte anhand eines vertrauenswürdigen Hashs des Stammzertifikats überprüft werden.
|
|
Weist Schannel an, bekannte schwache kryptografische Algorithmen, Verschlüsselungssuiten und SSL/TLS-Protokollversionen zu deaktivieren, die sonst für eine bessere Interoperabilität aktiviert sind. |
|
Weist Schannel an, nur PSK-Cipher-Suiten auszuwählen und alle anderen Cipher-Suites zu deaktivieren. |
cTlsParameters
Die Anzahl der Einträge im pTlsParameters-Array.
Es ist ein Fehler, mehr als SCH_CRED_MAX_SUPPORTED_PARAMETERS anzugeben.
pTlsParameters
Array von Zeigern auf die TLS_PARAMETERS Strukturen, die TLS-Parametereinschränkungen angeben, falls vorhanden. Wenn keine Einschränkungen angegeben werden, werden die Systemstandardeinstellungen verwendet. Es wird empfohlen, dass Anwendungen auf die Systemstandardeinstellungen angewiesen sind.
Es ist ein Fehler, mehr als eine TLS_PARAMETERS Struktur mit cAlpnIds == 0 und rgstrAlpnIds == NULL einzuschließen.
Bemerkungen
Um die SCH_CREDENTIALS Struktur zu verwenden, definieren Sie SCHANNEL_USE_BLACKLISTS zusammen mit UNICODE_STRING und PUNICODE_STRING. Alternativ fügen Sie Ntdef.h, SubAuth.h oder Winternl.h ein.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 10 1809 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 1809 [nur Desktop-Apps] |
Header | schannel.h |