SSL-Konfigurationsattribute

SSL-Konfigurationen enthalten Attribute, mit denen Sie das Verhalten der SSL-Transportebene in einem Liberty-Profil steuern können. In diesem Abschnitt werden alle für eine SSL-Konfiguration verfügbaren Einstellungen iteriert.

SSL-Feature

Damit SSL in einem Server aktiviert wird, muss das SSL-Feature in der Datei server.xml enthalten sein:

<featureManager>
  <feature>ssl-1.0</feature>
</featureManager>

SSL-Standard

Sie können mehrere SSL-Konfigurationen konfigurieren. Wenn mehrere SSL-Konfigurationen konfiguriert sind, muss die SSL-Standardkonfiguration in der server.xml-Datei angegeben werden, die die Servicekonfiguration sslDefault verwendet.

Tabelle 1. Attribute des Elements "sslDefault". In der folgenden Tabelle sind die Attribute des Elements sslDefault beschrieben.
Attribut Beschreibung Standardwert
sslRef Das Attribut sslRef gibt den Namen der SSL-Konfiguration an, die als Standard verwendet werden soll. Der SSL-Standardkonfigurationsname ist defaultSSLConfig.
In der Datei server.xml ist der Eintrag wie folgt:
<sslDefault sslRef="mySSLSettings" />

SSL-Konfiguration

Die SSL-Konfigurationsattribute werden verwendet, um die SSL-Umgebung an Ihre Anforderungen anzupassen. Diese Attribute können im Servicekonfigurationselement ssl in der Datei server.xml festgelegt werden.

Tabelle 2. Attribute des Elements "ssl" . In dieser Tabelle sind die Attribute des Elements ssl beschrieben.
Attribut Beschreibung Standardwert
id Das Attribut id ordnet dem SSL-Konfigurationsobjekt einen eindeutigen Namen zu. Es gibt keinen Standardwert. Ein eindeutiger Name muss angegeben werden.
keyStoreRef Das Attribut keyStoreRef legt den Namen des Keystore-Serviceobjekts fest, das den Keystore der SSL-Konfiguration definiert. Der Keystore enthält den Schlüssel, der benötigt wird, um eine SSL-Verbindung herzustellen. Es gibt keinen Standardwert. Eine Keystore-Referenz muss angegeben werden.
trustStoreRef Das Attribut trustStoreRef legt den Namen des Keystore-Serviceobjekts fest, das den Truststore für SSL-Konfigurationen definiert. Der Truststore enthält die Zertifikate, die zum Signieren der Verifizierung erforderlich sind. trustStoreRef ist ein optionales Attribut. Wenn die Referenz fehlt, wird der mit keyStoreRef angegebene Keystore verwendet.
clientAuthentication Das Attribut clientAuthentication legt fest, ob die SSL-Clientauthentifizierung erforderlich ist. Der Standardwert ist false.
clientAuthenticationSupported Das Attribut clientAuthenticationSupported legt fest, ob die SSL-Clientauthentifizierung unterstützt wird. Der Client muss kein Clientzertifikat bereitstellen. Wird das Attribut clientAuthentication auf "true" gesetzt, wird der Wert des Attributs clientAuthenticationSupported überschrieben. Der Standardwert ist false.
sslProtocol Das Attribut sslProtocol definiert das SSL-Handshakeprotokoll. Das Protokoll kann SDK-abhängig sein. Wenn Sie das Protokoll ändern, müssen Sie deshalb sicherstellen, dass der Wert von dem SDK unterstützt wird, mit dem Sie arbeiten. Der Standardwert ist SSL_TLS.
securityLevel Das Attribut securityLevel bestimmt die vom SSL-Handshake verwendete Cipher-Suite-Gruppe. Das Attribut hat einen der folgenden Werte:
  • HIGH (128-Bit-Cipher und höher)
  • MEDIUM (40-Bit-Cipher)
  • WEAK (für alle Cipher ohne Verschlüsselung)
  • CUSTOM (wenn eine angepasste Cipher-Suite verwendet wird)
Wenn Sie das Attribut enabledCiphers mit einer bestimmten Cipherliste definieren, wird es vom System ignoriert.
Der Standardwert ist HIGH.
enabledCiphers Mit dem Attribut enabledCiphers wird eine eindeutige Liste von Cipher-Suites angegeben. Die einzelnen Cipher Suites in der Liste müssen durch ein Leerzeichen voneinander getrennt sein. Wird das Attribut enabledCiphers festgelegt, wird das Attribut securityLevel ignoriert. Kein Standardwert vorhanden.
serverKeyAlias Das Attribut serverKeyAlias gibt den Schlüssel im Keystore an, der als Schlüssel für SSL-Konfigurationen verwendet werden soll. Dieses Attribut ist nur erforderlich, wenn der Keystore mehrere Schlüsseleinträge enthält. Wenn der Keystore mehrere Schlüsseleinträge enthält und mit diesem Attribut kein Schlüssel angegeben wird, wählt JSSE einen Schlüssel aus. Kein Standardwert vorhanden.
clientKeyAlias Das Attribut clientKeyAlias gibt den Schlüssel im Keystore an, der als Schlüssel für die SSL-Konfiguration verwendet wird, wenn clientAuthentication aktiviert ist. Das Attribut ist nur erforderlich, wenn der Keystore mehrere Schlüsseleinträge enthält. Kein Standardwert vorhanden.
Anmerkung:
  • Der Schlüsselmanager wird vom SSL-Handshake verwendet, um zu ermitteln, welcher Zertifikatsaliasname verwendet werden soll. Der Schlüsselmanager wird nicht in der Datei server.xml konfiguriert. Er wird aus der Sicherheitseigenschaft ssl.KeyManagerFactory.algorithm des SDK abgerufen.
  • Der Trust-Manager wird vom SSL-Handshake verwendet, um Entscheidungen bezüglich der Anerkennung (Trust) zu treffen. Der Trust-Manager wird nicht in der Datei server.xml konfiguriert. Er wird aus der Sicherheitseigenschaft ssl.TrustManagerFactory.algorithm des SDK abgerufen.
Das folgende Beispiel zeigt, wie das Element ssl in der Datei server.xml konfiguriert wird:
<!--  Einfaches Serviceobjekt der SSL-Konfiguration. Es wird vorausgesetzt, dass ein Keystoreobjekt mit dem Namen -->
<!--  defaultKeyStore und ein Truststoreobjekt mit dem Namen defaultTrustStore in der Datei server.xml existieren. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore" />


<!--  SSL-Konfigurationsserviceobjekt, das clientAuthentication aktiviert -->
<!--  und das zu verwendende TLS-Protokoll angibt. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore"
       clientAuthentication="true"
       sslProtocol="TLS" />

<!--  SSL-Konfigurationsserviceobjekt, das den vom Handshake zu verwendenden -->
<!-- serverKeyAlias angibt. Dies setzt voraus, dass ein Zertifikat mit dem Namen  -->
<!-- "default" in dem durch keyStoreRef definierten Keystore existiert.-->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       serverKeyAlias="default" />

Keystore-Konfiguration

Die keystore-Konfiguration besteht aus den Attributen, die zum Laden eines Keystore erforderlich sind. Diese Attribute können in der Keystore-Servicekonfiguration in der Datei server.xml definiert werden.

Tabelle 3. Attribute des Elements "keystore" . In dieser Tabelle werden die Attribute des Elements keystore beschrieben.
Attribut Beschreibung Standardwert
id Das Attribut id definiert eine eindeutige ID des Keystore-Objekts. Es gibt keinen Standardwert. Ein eindeutiger Name muss angegeben werden.
location Das Attribut location gibt den Namen der Keystoredatei an. Der Wert kann den absoluten Pfad zur Datei enthalten. Wird kein absoluter Pfad angegeben, sucht der Code die Datei im Verzeichnis ${server.config.dir}/resources/security. In der SSL-Minimalkonfiguration wird ${server.config.dir}/resources/security/key.jks als Position der Datei angenommen.
type Das Attribut type gibt den Typ des Keystore an. Prüfen Sie, ob der angegebene Keystore-Typ vom ausgeführten SDK unterstützt wird. Der Standardwert ist jks.
password Das Attribut password gibt das Kennwort an, das zum Laden der Keystoredatei verwendet wird. Das Kennwort kann in Klartext oder in verschlüsselter Form gespeichert werden. Informationen dazu, wie das Kennwort verschlüsselt wird, finden Sie in der Beschreibung der Option securityUtility encode. Angabe erforderlich.
provider Das Attribut provider legt den Provider fest, der zum Laden des Keystore verwendet wird. Für einige Keystore-Typen ist ein anderer Provider als das Standard-SDK erforderlich. Standardmäßig ist kein Provider angegeben.
fileBased Das Attribut fileBased gibt an, ob der Keystore dateibasiert ist. Der Standardwert ist true.
pollingRate Das Intervall, in dem der Server nach Aktualisierungen für eine Keystore-Datei sucht. 500ms.
updateTrigger Die Methode, mit der das Laden einer Keystore-Datei auf dem Server ausgelöst wird. Geben Sie polled an, damit der Server die Keystore-Datei auf Änderungen prüft, mbean, damit der Server auf eine mbean wartet, um die Keystore-Datei erneut zu laden, oder disabled, um die Dateiüberwachung zu inaktivieren. disabled.

Keystore-Dateien können vom Server erneut geladen werden, wenn das Attribut updateTrigger auf polled oder mbean gesetzt ist. Wenn das Attribut polled festgelegt ist, fragt der Server die Keystore-Datei in dem mit dem Attribut pollingRate festgelegten Intervall auf Änderungen ab. Wenn das Attribut updateTrigger auf mbean gesetzt ist, lädt der Server die Keystore-Datei erneut, wenn er von der MBean WebSphere:service=com.ibm.ws.kernel.filemonitor.FileNotificationMBean benachrichtigt wird. Die Dateiüberwachung ist standardmäßig inaktiviert.

Das folgende Beispiel zeigt, wie das Element keystore in der Datei server.xml konfiguriert wird:
<!-- Ein Keystore-Objekt hat defaultKeyStore aufgerufen, -->
<!-- mit dem eine Position, ein Typ und ein Kennwort festgelegt werden. Es wird angenommen, dass die Datei MyKeyStoreFile.jks -->
<!-- in ${server.config.dir}/resources/security enthalten ist. -->
<!-- Dieser Keystore ist so konfiguriert, dass Updates alle 5 Sekunden -->
<!-- abgefragt werden -->
   <keyStore id="defaultKeyStore"
           location="MyKeyStoreFile.jks"
           type="JKS" password="myPassword" 
           pollingRate="5s" 
           updateTrigger="polled" />

<!-- Ein Keystore-Objekt hat defaultKeyStore aufgerufen, -->
<!-- mit dem eine Position, ein Typ und ein Kennwort festgelegt werden. Es wird angenommen, dass die Datei MyKeyStoreFile.jks -->
<!-- in ${server.config.dir}/resources/security enthalten ist. -->
<!-- Dieser Keystore ist so konfiguriert, dass er erneut geladen wird, -->
<!-- wenn der Server eine entsprechende MBean-Benachrichtigung empfängt -->
   <keyStore id="defaultKeyStore"
           location="MyKeyStoreFile.jks"
           type="JKS" password="myPassword" 
           updateTrigger="mbean" />

Beispiel für eine vollständige SSL-Konfiguration

Nachfolgend ist ein Beispiel für eine vollständige SSL-Konfiguration in der Datei server.xml dargestellt. Dieses Beispiel verwendet die folgenden SSL-Konfigurationen:
  • defaultSSLSettings
  • mySSLSettings
Die SSL-Konfiguration wird standardmäßig auf defaultSSLConfig gesetzt.
<featureManager>
  <feature>ssl-1.0</feature>
</featureManager>


<!-- default SSL configuration is defaultSSLSettings ->
  <sslDefault sslRef="defaultSSLSettings" />
  <ssl id="defaultSSLSettings"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore"
       clientAuthenticationSupported="true" />
  <keyStore id="defaultKeyStore"
            location="key.jks"
            type="JKS" password="defaultPWD" />
  <keyStore id="defaultTrustStore"
            location="trust.jks"
            type="JKS" password="defaultPWD" />

  <ssl id="mySSLSettings" 
       keyStoreRef="myKeyStore" 
       trustStoreRef="myTrustStore" 
       clientAuthentication="true" />
  <keyStore id="LDAPKeyStore" 
            location="${server.config.dir}/myKey.p12" 
            type="PKCS12" 
            password="{xor}CDo9Hgw=" />    <keyStore id="LDAPTrustStore" 
            location="${server.config.dir}/myTrust.p12" 
            type="PKCS12" 
            password="{xor}CDo9Hgw=" />  

Symbol das den Typ des Artikels anzeigt. Referenzartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_ssl
Dateiname: rwlp_ssl.html