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
SCH_CRED_FORMAT_CERT_HASH
0x00000001
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.
SCH_CRED_FORMAT_CERT_HASH_STORE
0x00000002
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
SCH_CRED_AUTO_CRED_VALIDATION
0x00000020
Nur Client.

Dieses Flag ist das Gegenteil von SCH_CRED_MANUAL_CRED_VALIDATION und ist Teil des Standardverhaltens von Schannel.

SCH_CRED_CACHE_ONLY_URL_RETRIEVAL_ON_CREATE
0x00020000
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.

SCH_CRED_DISABLE_RECONNECTS
0x00000080
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.

SCH_CRED_IGNORE_NO_REVOCATION_CHECK
0x00000800
Wenn Sie nach widerrufenen Zertifikaten suchen, ignorieren Sie CRYPT_E_NO_REVOCATION_CHECK Fehler. Weitere Einschränkungen finden Sie unter Hinweise.
SCH_CRED_IGNORE_REVOCATION_OFFLINE
0x00001000
Wenn Sie nach widerrufenen Zertifikaten suchen, ignorieren Sie CRYPT_E_REVOCATION_OFFLINE Fehler. Weitere Einschränkungen finden Sie unter Hinweise.
SCH_CRED_MANUAL_CRED_VALIDATION
0x00000008
Nur Client.

Verhindern Sie, dass Schannel die empfangene Serverzertifikatkette überprüft.

SCH_CRED_NO_DEFAULT_CREDS
0x00000010
Nur Client.

Verhindern Sie, dass Schannel versucht, automatisch eine Zertifikatkette für die Clientauthentifizierung bereitzustellen.

SCH_CRED_NO_SERVERNAME_CHECK
0x00000004
Nur Client.

Verhindern Sie, dass Schannel den angegebenen Zielnamen mit den Betreffnamen in Serverzertifikaten vergleicht.

SCH_CRED_NO_SYSTEM_MAPPER
0x00000002
Server nur.

Verhindern Sie, dass Schannel die integrierten Systemzertifikatzuordnungsfunktionen verwendet, um Clientzertifikate einem Benutzerkonto zuzuordnen.

SCH_CRED_REVOCATION_CHECK_CHAIN
0x00000200
Überprüfen Sie beim Überprüfen einer Zertifikatkette alle Zertifikate für den Widerruf. Weitere Einschränkungen finden Sie unter Hinweise.
SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
0x00000400
Überprüfen Sie beim Überprüfen einer Zertifikatkette nicht den Stamm für den Widerruf. Weitere Einschränkungen finden Sie unter Hinweise.
SCH_CRED_REVOCATION_CHECK_END_CERT
0x00000100
Überprüfen Sie beim Überprüfen einer Zertifikatkette nur das letzte Zertifikat für den Widerruf. Weitere Einschränkungen finden Sie unter Hinweise.
SCH_CRED_USE_DEFAULT_CREDS
0x00000040
Nur Client.

Schannel versucht, automatisch eine Zertifikatkette für die Clientauthentifizierung bereitzustellen. Dieser Wert ist das Gegenteil von SCH_CRED_NO_DEFAULT_CREDS.

SCH_SEND_AUX_RECORD
0x00200000
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.

SCH_SEND_ROOT_CERT
0x00040000
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.
 
SCH_USE_STRONG_CRYPTO
0x00400000
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.
SCH_USE_PRESHAREDKEY_ONLY
0x00800000
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

Weitere Informationen

CRYPTO_SETTINGS

TLS_PARAMETERS