Pourquoi et quand exécuter cette tâche
L'authentification du client SSL se fait au moyen d'un certificat SSL et a lieu
lors de l'établissement de liaison SSL. Ce dernier est une série de messages
échangés sur le protocole SSL pour négocier les modalités de protection de la
connexion. Durant l'établissement de liaison, le serveur sécurisé demande que le client
lui renvoie un certificat ou une chaîne de certificats afin de s'authentifier. Pour activer SSL dans Liberty, ajoutez la fonction Liberty
ssl-1.0 au fichier du document racine de la
configuration, server.xml, avec le code des
informations du fichier de clés pour authentification.
Par défaut, le chemin d'accès et le nom de fichier du document racine de la configuration sont les suivants : chemin_d'accès_à_Liberty/wlp/usr/servers/nom_serveur/server.xml.
chemin_Liberty est l'emplacement d'installation de Liberty
sur votre système d'exploitation et nom_serveur, le nom de votre serveur. Vous pouvez toutefois changer le chemin. Voir Personnalisation de l'environnement Liberty.
- Activez la fonction Liberty ssl-1.0 dans le
fichier server.xml.
<featureManager>
<feature>ssl-1.0</feature>
</featureManager>
Remarque : Si la sécurité d'application est requise et les informations de
sécurité redirigées vers un port sécurisé, vous devez ajoutez la
fonction
appSecurity-2.0
Liberty
au fichier server.xml.
- Ajoutez l'objet de service keyStore au fichier server.xml.
L'élément keyStore représente un fichier de clés portant l'identifiant defaultKeyStore et
contient le mot de passe d'accès à ce fichier de clés. Le mot de passe peut être indiqué en clair ou
sous forme codée. L'option securityUtility
encode peut être utilisée pour coder le mot de passe.
<keyStore id="defaultKeyStore" password="yourPassword" />
Exemple de jeu de clés dans une configuration minimale :
<keyStore id="defaultKeyStore" location="safkeyring:///WASKeyring"
type="JCERACFKS" password="password" fileBased="false"
readOnly="true" />
Le fichier de clés RACF doit être créé avant de les configurer pour leur utilisation par le serveur Liberty. Le serveur ne créée pas de certificats et ne les ajoute pas à RACF.
L'entrée keyStore représentant une configuration SSL minimale peut être
étendue pour inclure l'emplacement et le type du fichier de clés.
<keyStore id="defaultKeyStore" location="myKeyStore.p12" password="yourPassword" type="PKCS12"/>
Il s'agit de la configuration minimum requise pour créer une configuration SSL. Avec cette configuration, le serveur crée le fichier de clés et le certificat s'il n'existe pas lors de l'initialisation SSL. Le mot de passe soumis doit comporter au moins six caractères. Cette configuration suppose qu'il s'agit d'un fichier de clés JKS nommé key.jks sous le répertoire home/resources/security
du serveur. Si le fichier n'existe pas, le serveur le crée pour vous. Dans ce cas, il crée également le certificat dans ce fichier. Le certificat
est autosigné avec une période de validité de 365 jours. La valeur CN de l'élément subjectDN dans le certificat est le nom d'hôte
de la machine sur laquelle le serveur s'exécute et utilise l'algorithme de signature SHA256withRSA.
Remarque : Les certificats créés par le serveur Liberty ne sont pas destinés à une utilisation en production. Ils sont créés pour faciliter la tâche du développeur.
Les certificats utilisés en production doivent être composés d'un
certificat chaîné correctement émis ou signé par une autorité de
certification accréditée. Si vous désirez utiliser des certificats autosignés avec une validité plus longue ou un subjectDN personnalisé, vous pouvez les créer via la tâche securityUtility createSSLCertificate.
La valeur de
l'attribut location peut être le nom de fichier du fichier de clés précédé de
son chemin absolu. Si un chemin absolu est précisé, le fichier du fichier de clés est supposé être déjà
créé. Il est aussi possible de spécifier un type de fichier de clés autre que JKS dans la configuration SSL minimale,
à condition que le fichier en question existe déjà. Lorsque la configuration SSL minimale
est utilisée, les valeurs de configuration SSL par défaut sont appliquées pour
créer le contexte SSL d'un établissement de liaison SSL. Le protocole utilisé par
défaut dans cette configuration
est SSL_TLS. Les algorithmes de cryptographie HIGH (128 bits et plus)
peuvent être utilisés.