Attributs de configuration SSL

Les configurations SSL contiennent les attributs nécessaires au contrôle du comportement de la couche transport SSL sur un serveur de profil Liberty. Cette rubrique répertorie tous les paramètres disponibles pour une configuration SSL.

Fonction SSL

Pour activer SSL sur un serveur, vous devez inclure la fonction SSL dans le fichier server.xml correspondant :

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

Configuration SSL par défaut

Il est possible de définir plusieurs configurations SSL. Dans ce cas, la configuration SSL par défaut doit être spécifiée dans le fichier server.xml au moyen de la l'élément sslDefault.

Tableau 1. Attribut de l'élément sslDefault . Ce tableau décrit l'attribut de l'élément sslDefault.
Attribut Description Valeur par défaut
sslRef L'attribut sslRef spécifie la configuration SSL à utiliser par défaut. Le nom par défaut de la configuration SSL est defaultSSLConfig.
Dans le fichier server.xml, l'entrée apparaît comme suit :
<sslDefault sslRef="mySSLSettings" />

Configuration SSL

La configuration SSL est constituée d'attributs qui vous permettent de personnaliser l'environnement SSL en vue de l'adapter à vos besoins. Ces attributs peuvent être définis dans l'élément de configuration de service ssl, dans le fichier server.xml.

Tableau 2. Attributs de l'élément SSL . Ce tableau décrit les attributs de l'élément ssl.
Attribut Description Valeur par défaut
id L'attribut id affecte un nom unique à l'objet de configuration SSL. Aucune valeur par défaut (un nom unique doit être spécifié).
keyStoreRef L'attribut keyStoreRef désigne l'objet de service keyStore qui définit le fichier de clés des configurations SSL. Le fichier de clés contient la clé requise pour établir une connexion SSL. Aucune valeur par défaut (une référence de fichier de clés doit être spécifiée).
trustStoreRef L'attribut trustStoreRef désigne l'objet de service keyStore qui définit le fichier de clés certifiées des configurations SSL. Le fichier de clés certifiées contient les certificats nécessaires à la vérification des signatures. trustStoreRef est un attribut facultatif. Si la référence manque, le fichier de clés spécifié par keyStoreRef est utilisé.
clientAuthentication L'attribut clientAuthentication détermine si l'authentification du client SSL est requise. La valeur par défaut est false.
clientAuthenticationSupported L'attribut clientAuthenticationSupported détermine si l'authentification du client SSL est prise en charge. Le client n'a pas à fournir de certificat client. Si l'attribut clientAuthentication est mis à true, c'est ce réglage qui est pris en compte et la valeur de l'attribut clientAuthenticationSupported n'a alors plus d'importance. La valeur par défaut est false.
sslProtocol L'attribut sslProtocol définit le protocole d'établissement de liaison SSL. Le protocole peut dépendre du SDK ; par conséquent, si vous le modifiez, veillez à ce que la valeur soit prise en charge par le SDK que vous exécutez. La valeur par défaut est SSL_TLS.
securityLevel L'attribut securityLevel détermine le groupe d'algorithmes de cryptographie à utiliser par l'établissement de liaison SSL. Cet attribut peut prendre l'une des valeurs suivantes :
  • HIGH (algorithmes 128 bits et plus)
  • MEDIUM (algorithmes 40 bits)
  • WEAK (tous les algorithmes sans chiffrement)
  • CUSTOM (si le groupe d'algorithmes de cryptographie est personnalisé).
Cet attribut est ignoré si, par ailleurs, vous définissez l'attribut enabledCiphers avec une liste spécifique d'algorithmes de chiffrement.
La valeur par défaut est HIGH.
enabledCiphers L'attribut enabledCiphers sert à spécifier une liste unique d'algorithmes de chiffrement. Séparez chaque algorithme dans cette liste par un espace. Si l'attribut enabledCiphers est défini explicitement, sa valeur l'emporte sur l'attribut securityLevel (qui est alors ignoré). Aucune valeur par défaut.
serverKeyAlias L'attribut serverKeyAlias désigne la clé du fichier de clés à utiliser comme clé des configurations SSL. Cet attribut est requis uniquement si le fichier de clés contient plusieurs entrées de clé. Si le fichier de clés contient plusieurs clés et que cet attribut n'en spécifie aucune en particulier, le JSSE la choisit lui-même. Aucune valeur par défaut.
clientKeyAlias L'attribut clientKeyAlias désigne la clé du fichier de clés à utiliser comme clé des configurations SSL lorsque l'authentification du client est activée (clientAuthentication="true"). Cet attribut est requis uniquement si le fichier de clés contient plusieurs entrées de clé. Aucune valeur par défaut.
Remarque :
  • Le gestionnaire de clés est utilisé par le processus d'établissement de liaison SSL pour déterminer quel alias de certificat utiliser. Le gestionnaire de clés n'est pas configuré dans le fichier server.xml. Il est obtenu d'après la propriété de sécurité ssl.KeyManagerFactory.algorithm du SDK.
  • Le gestionnaire d'accréditation (trust manager) est utilisé par l'établissement de liaison SSL pour décider si l'autre partie est un tiers de confiance. Le gestionnaire d'accréditation n'est pas configuré dans le fichier server.xml. Il est obtenu d'après la propriété de sécurité ssl.TrustManagerFactory.algorithm du SDK.
Voici un exemple de configuration de l'élément ssl dans le fichier server.xml :
<!--  Objet de service de configuration ssl simple. On suppose qu'un objet de fichier de clés nommé -->
<!--  defaultKeyStore et qu'un objet de fichier de clés certifiées nommé defaultTrustStore existent dans le fichier server.xml. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore" />


<!--  Un objet de service de configuration ssl qui active clientAuthentication -->
<!--  et spécifie le protocole TLS à utiliser. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       trustStoreRef="defaultTrustStore"
       clientAuthentication="true"
       sslProtocol="TLS" />

<!-- Un objet de service de configuration qui nomme l'objet serverKeyAlias -->
<!-- que le processus d'établissement de la liaison doit utiliser. On suppose qu'un certificat -->
<!-- appelé "default" existe dans le fichier de clés défini par keyStoreRef. -->
  <ssl id="myDefaultSSLConfig"
       keyStoreRef="defaultKeyStore"
       serverKeyAlias="default" />

Configuration du fichier de clés

La configuration keystore se compose des attributs requis pour le chargement d'un fichier de clés. Ces attributs peuvent être définis dans la configuration de service keyStore, dans le fichier server.xml.

Tableau 3. Attributs de l'élément keyStore. Ce tableau décrit les attributs de l'élément keyStore.
Attribut Description Valeur par défaut
id L'attribut id définit l'identificateur unique de l'objet keystore. Aucune valeur par défaut (un nom unique doit être spécifié).
location L'attribut location spécifie le nom de fichier du fichier de clés. Sa valeur peut être composée d'un chemin absolu suivi du nom de fichier proprement dit. Si le chemin absolu n'est pas précisé, le fichier sera recherché dans le répertoire ${server.config.dir}/resources/security. Dans la configuration minimale SSL, l'emplacement du fichier est supposé être ${server.config.dir}/resources/security/key.jks.
type L'attribut type spécifie le type de fichier de clés. Veillez à indiquer un type de fichier de clés pris en charge par le JDK avec lequel vous travaillez. La valeur par défaut est jks.
password L'attribut password spécifie le mot de passe utilisé pour charger le fichier du fichier de clés. Le mot de passe peut être indiqué en clair ou sous forme encodée. Pour savoir comment encoder un mot de passe, consultez la description de l'option securityUtility encode. Aucune valeur par défaut (une valeur doit être fournie explicitement).
provider L'attribut provider spécifie le fournisseur à utiliser pour charger le fichier de clés. Certains types de fichier de clés requièrent un fournisseur spécifique plutôt que le fournisseur SDK par défaut. Par défaut, aucun fournisseur n'est spécifié.
fileBased L'attribut fileBased indique si le fichier de clés repose sur des fichiers. La valeur par défaut est true.
pollingRate Fréquence à laquelle le serveur recherche les mises à jour apportées à un fichier de clés. 500 ms.
updateTrigger Méthode utilisée pour déclencher le rechargement d'un fichier de clés par le serveur. Indiquez polled pour permettre au serveur de rechercher des modifications du fichier de clés, mbean pour permettre au serveur de patienter le temps qu'un mbean recharge le fichier de clés, ou disabled pour désactiver la surveillance des fichiers. disabled.

Les fichiers de clés peuvent être rechargés par le serveur si l'attribut updateTrigger est défini sur polled ou mbean. Si polled est activé, le serveur surveille les corrections du fichier de clés en fonction de fréquence définie dans l'attribut pollingRate. Si l'attribut updateTrigger est défini sur mbean, le serveur recharge le fichier de clés lorsqu'il reçoit une notification du bean géré WebSphere:service=com.ibm.ws.kernel.filemonitor.FileNotificationMBean. La surveillance des fichiers est désactivée par défaut.

Voici un exemple de configuration de l'élément keyStore dans le fichier server.xml :
<!-- A keystore object called defaultKeyStore provides a location,
-->
<!-- type, and password. The MyKeyStoreFile.jks file is assumed
-->
<!-- to be located in ${server.config.dir}/resources/security
-->
<!-- This keystore is configured to be monitored every 5 seconds
-->
<!-- for updates -->
   <keyStore id="defaultKeyStore"
           location="MyKeyStoreFile.jks"
           type="JKS" password="myPassword" 
           pollingRate="5s" 
           updateTrigger="polled" />

<!-- A keystore object called defaultKeyStore provides a location,
-->
<!-- type, and password. The MyKeyStoreFile.jks file is assumed
-->
<!-- to be located in ${server.config.dir}/resources/security
-->
<!-- This keystore is configured to be reloaded when the server
-->
<!-- recieves an mbean notification to do so -->
   <keyStore id="defaultKeyStore"
           location="MyKeyStoreFile.jks"
           type="JKS" password="myPassword" 
           updateTrigger="mbean" />

Exemple de configuration SSL complète

Voici un exemple de configuration SSL complète dans le fichier server.xml. Cet exemple comprend les configurations SSL suivantes :
  • defaultSSLSettings
  • mySSLSettings
Par défaut, la configuration SSL est defaultSSLConfig.
<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=" />  

Icône indiquant le type de rubrique Rubrique de référence

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_ssl
Nom du fichier : rwlp_ssl.html