So wird’s gemacht: Schützen von Verbindungen und Authentifizieren von Anforderungen (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

In diesem Thema werden die wichtigsten Methoden beschrieben, mit denen die Windows-Runtime Windows-Runtime-Apps das Schützen von Verbindungen und Bereitstellen von Anmeldeinformationen für die Authentifizierung ermöglicht, damit sichere Netzwerkverbindungen hergestellt und genutzt werden können.

Technologien

Erstellen von sicheren Socketverbindungen

Secure Sockets Layer (SSL) und das aktuellere Transport Layer Security (TLS) sind Verschlüsselungsprotokolle für die Authentifizierung und Verschlüsselung der Kommunikation in Netzwerken. Diese Protokolle dienen dazu, das Mitverfolgen und Manipulieren von Daten zu verhindern, die im Netzwerk gesendet und empfangen werden. Für den Protokollaustausch wird dabei ein Client-Server-Modell verwendet. Diese Protokolle verwenden zudem digitale Zertifikate und Zertifizierungsstellen, um den jeweiligen Server zu identifizieren. Das TLS-Protokoll wird in IETF RFC 5246 dokumentiert. Das frühere SSL-Protokoll wurde von Netscape Communications dokumentiert. SSL bezieht sich im allgemeinen Sprachgebrauch auf beide Protokolle.

Ein StreamSocket-Objekt kann für die Verwendung von SSL/TLS für die Kommunikation zwischen dem Client und dem Server konfiguriert werden. Diese Unterstützung für SSL/TLS beschränkt sich auf die Verwendung des StreamSocket-Objekts als Client in der SSL/TLS-Aushandlung. SSL/TLS kann derzeit bei einer eingehenden Verbindung nicht vom StreamSocketListener für den erstellten StreamSocket verwendet werden, um SSL/TLS für den erstellten StreamSocket zu aktivieren. Denn die serverseitige SSL/TLS-Aushandlung ist für einen StreamSocket nicht implementiert.

Beispiele für das Erstellen einer sicheren Socketverbindung mit einem Netzwerkdienst bzw. für das Schützen einer Socketverbindung mit einem Netzwerkdienst finden Sie unter So wird's gemacht: Schützen von Socketverbindungen mit TLS/SSL.

Erstellen von sicheren WebSocket-Verbindungen

WebSocket-Verbindungen können wie herkömmliche Socketverbindungen mit TLS (Transport Layer Security)/SSL (Secure Sockets Layer) verschlüsselt werden, wenn Sie für eine Windows Store-App die Features StreamWebSocket und MessageWebSocket in Windows 8 verwenden. In den meisten Fällen empfiehlt sich die Verwendung einer sicheren WebSocket-Verbindung. Dadurch ist es wahrscheinlicher, dass die Verbindung funktioniert, da andernfalls viele Proxys unverschlüsselte WebSocket-Verbindungen ablehnen.

Beispiele für das Erstellen einer sicheren WebSocket-Verbindung mit einem Netzwerkdienst bzw. für das Schützen einer WebSocket-Verbindung mit einem Netzwerkdienst finden Sie unter So wird's gemacht: Schützen von Socketverbindungen mit TLS/SSL.

Ein Server benötigt möglicherweise zusätzlich zur TLS/SSL-Verschlüsselung einen Sec-WebSocket-Protocol-Headerwert, um den ersten Handshake auszuführen. Dieser Wert, der von der StreamWebSocketInformation.Protocol-Eigenschaft und der MessageWebSocketInformation.Protocol-Eigenschaft dargestellt wird, gibt die Protokollversion der Verbindung an und ermöglicht es dem Server, den Handshake zum Öffnen der Verbindung und die anschließend ausgetauschten Daten korrekt zu interpretieren. Anhand dieser Protokollinformationen kann die Verbindung jederzeit geschlossen werden, wenn der Server die eingehenden Daten nicht auf sichere Weise interpretieren kann.

Wenn die erste Anforderung vom Client nicht diesen Wert enthält oder einen Wert bereitstellt, der vom Server nicht erwartet wird, tritt ein WebSocket-Handshakefehler auf, und der Server sendet den erwarteten Wert an den Client.

Bereitstellen von Anmeldeinformationen zum Authentifizieren für einen Webdienst

Die Netzwerk-APIs der Windows-Runtime, die Windows-Runtime-Apps die Interaktion mit sicheren Webdiensten ermöglichen, stellen jeweils eigene Methoden zum Initialisieren eines Clients oder Festlegen eines Anforderungsheaders mit Anmeldeinformationen für die Server- und Proxyauthentifizierung bereit. Jede Methode wird mit einem PasswordCredential-Objekt festgelegt, das einen Benutzernamen, ein Kennwort und die Ressource angibt, für die die Anmeldeinformationen verwendet werden. In der folgenden Tabelle werden diese APIs zugeordnet:

WebSockets

Background Transfer

Syndication

AtomPub

 

Verwandte Themen

So wird's gemacht: Schützen von Socketverbindungen mit TLS/SSL

So wird's gemacht: Schützen von WebSocket-Verbindungen mit TLS/SSL

Herstellen einer Verbindung mit Netzwerkdiensten