Für die Aktivierung der SSL-Kommunikation in Liberty gibt es
eine Mindestgruppe von SSL-Konfigurationsoptionen. Es wird davon ausgegangen, dass die meisten SSL-Optionen
verschiedene Keystore-Konfigurationsdaten erfordern.
Informationen zu diesem Vorgang
Die SSL-Clientauthentifizierung findet während des Verbindungshandshakes
unter Verwendung von SSL-Zertifikaten statt. Der SSL-Handshake ist eine Folge von Nachrichten, die über das SSL-Protokoll ausgetauscht werden, um einen
verbindungsspezifischen Schutz auszuhandeln. Während des Handshakes fordert der Sicherheitsserver vom Client die Rücksendung eines Zertifikats oder einer Reihe von Zertifikaten zwecks Authentifizierung an. Fügen Sie zum Aktivieren von SSL
in Liberty
das Liberty-Feature ssl-1.0 der Konfigurationsstammdokumentdatei server.xml zusammen mit Code
der Keystore-Informationen für die Authentifizierung hinzu.
Standardmäßig werden für die Konfigurationsstammdokumentdatei der folgende Pfad und der folgende Dateiname verwendet: Pfad_zu_Liberty/wlp/usr/servers/Servername/server.xml. Pfad_zu_Liberty
ist die Position, an der Sie Liberty auf Ihrem Betriebssystem installiert haben, und Servername ist der Name Ihres Servers. Sie können
den Pfad jedoch ändern. Informationen hierzu finden Sie unter Liberty-Umgebung anpassen.
- Aktivieren Sie das Liberty-Feature ssl-1.0 in der
Datei server.xml.
<featureManager>
<feature>ssl-1.0</feature>
</featureManager>
Anmerkung: Wenn Anwendungssicherheit erforderlich ist und Sicherheitsinformationen
an einen sicheren Port weitergeleitet werden, müssen Sie das Liberty-Feature
appSecurity-2.0 der Datei server.xml hinzufügen.
- Nehmen Sie das Keystore-Serviceobjekt in die Datei
server.xml auf.
Das Element
keyStore hat den Namen defaultKeyStore und enthält das Keystore-Kennwort. Das Kennwort kann in Klartext oder verschlüsselt angegeben werden. Zum Verschlüsseln des Kennworts kann die Option
securityUtility
encode verwendet werden.
<keyStore id="defaultKeyStore" password="yourPassword" />
Im Folgenden finden Sie ein Beispiel
für einen SAF-Schlüsselring in der Minimalkonfiguration:
<keyStore id="defaultKeyStore" location="safkeyring:///WASKeyring"
type="JCERACFKS" password="password" fileBased="false"
readOnly="true" />
Der RACF-Schlüsselring muss konfiguriert werden, bevor
er vom Liberty-Server verwendet werden kann. Der Server erstellt keine
Zertifikate und fügt diese auch nicht RACF hinzu.
Der einzelne Keystore-Eintrag für eine SSL-Minimalkonfiguration kann so erweitert werden,
dass er auch die Position und den Typ enthält.
<keyStore id="defaultKeyStore" location="myKeyStore.p12" password="yourPassword" type="PKCS12" />
Diese Konfiguration ist die Mindestkonfiguration, die zum Erstellen einer SSL-Konfiguration erforderlich ist.
In dieser Konfiguration erstellt der Server den Keystore und das Zertifikat automatisch, falls diese
während der SSL-Initialisierung nicht vorhanden sind. Das angegebene Kennwort muss mindestens sechs Zeichen lang sein.
Als Keystore wird ein JKS-Keystore mit dem Namen "key.jks" im Verzeichnis "Serverausgangsverzeichnis/resources/security" vorausgesetzt. Wenn die Datei
nicht vorhanden ist, erstellt sie der Server automatisch. Wenn der Server die Keystore-Datei erstellt, erstellt er auch das Zertifikat in diesem Keystore.
Das Zertifikat ist ein selbst signiertes Zertifikat mit einem Gültigkeitszeitraum
von 365 Tagen. Der Wert "CN" von
subjectDN ist der Hostname der Maschine, auf der der Server
ausgeführt wird, und hat den Signaturalgorithmus "SHA256withRSA".
Anmerkung: Die vom Liberty-Server erstellten Zertifikate
sind nicht für den Produktionseinsatz vorgesehen. Sie wurden für Entwickler erstellt. Zertifikate, die in der Produktion verwendet werden, müssen ordnungsgemäß verkettet sein und von einer anerkannten Zertifizierungsstelle
ausgegeben oder signiert werden. Wenn Sie selbst signierte Zertifikate
mit einem längeren Gültigkeitszeitraum oder einem angepassten Wert für
subjectDN verwenden möchten, können Sie diese mit der Task "securityUtility createSSLCertificate"
erstellen.
Der Parameter
location kann einen absoluten Pfad zur Keystore-Datei angeben. Wird ein absoluter Pfad angegeben, wird davon ausgegangen, dass die Keystore-Datei bereits erstellt wurde.
Keystores mit einem anderen Typ können in der SSL-Minimalkonfiguration ebenfalls angegeben werden,
falls die Keystore-Datei bereits erstellt wurde. Wenn die SSL-Minimalkonfiguration verwendet wird,
werden die Standardeinstellungen der SSL-Konfiguration verwendet, um den SSL-Kontext für einen SSL-Handshake zu erstellen. Das Konfigurationsprotokoll ist standardmäßig
SSL_TLS. Die hohe Verschlüsselung (HIGH, 128 Bit) und höhere Cipher-Suites können verwendet
werden.