SSL-Zertifikate
Secure Sockets Layer (SSL), auch als Transport Layer Security (TLS) bezeichnet, wurde zu einem Standard für die Sicherung von Internetverbindungen und wird verwendet, um Lauschangriffe im Netzwerk zu verhindern. Das SSL/TLS-Protokoll ermöglicht es einem Client und Server, sich gegenseitig zu authentifizieren und Verschlüsselungsalgorithmen auszuhandeln.
SSL verwendet einen Verschlüsselungsschlüssel und einen Verschlüsselungsalgorithmus, um die HTTP-Verbindung zu sichern. Die Verschlüsselungsschlüssel sind in SSL-Zertifikaten enthalten, die sowohl vom Client als auch vom Server verwendet werden. Das Zertifikat ist in der Regel ein X.509 (RFC 2459)-Dokument. Der Server stellt das SSL-Zertifikat für die Sitzung bereit und sendet das Zertifikat in der Handshake-Phase an den Client. Der Client sendet sein Zertifikat nur dann an den Server, wenn der Server eine Anforderung an den Client für ein Zertifikat sendet. Daher authentifiziert der Client immer den Server, aber der Server hat die Möglichkeit, den Client zu authentifizieren.
Serverzertifikate müssen im lokalen beständigen Speicher der HTTP-Server-API gespeichert werden, damit jedes Mal eine sichere Verbindung erstellt wird. Jeder Zertifikatspeichereintrag enthält auch die IP-Adresse und den Port des Servers, den Zertifikathash (zum Signieren der Nachrichten verwendet) und die Anwendungs-ID. Die Anwendungs-ID wird verwendet, um die Anwendung zu identifizieren, die das Zertifikat besitzt.
Systemadministratoren können SSL-Serverzertifikatinformationen mit den Konfigurations-APIs speichern. Ein Verwaltungstool ruft die HttpSetServiceConfiguration-Funktion auf und gibt httpServiceConfigSSLCertInfo-Wert für den Dienstkonfigurationsparameter an, um Informationen für ein SSL-Zertifikat festzulegen. Für jedes IP-Adress- und Portpaar auf dem Computer kann nur ein Serverzertifikat konfiguriert werden. Die HTTP-Server-API stellt außerdem Abfrage- bereit und Funktionen löschen, um auf vorhandene Zertifikate zuzugreifen oder sie zu löschen.