Configurations des fichiers de clés pour SSL
Les configurations de fichier de clés permettent de définir comment l'environnement d'exécution de WebSphere Application Server charge et gère les types de fichier de clés pour les configurations SSL (Secure Sockets Layer).
Par défaut, l'attribut java.security.Security.getAlgorithms("KeyStore") n'affiche pas une liste prédéfinie de types de magasin de clés dans la console d'administration. En revanche, WebSphere Application Server extrait tous les types de magasins de clés pouvant être référencés par l'objet java.security.KeyStore, y compris le chiffrement matériel, la plateforme z/OS, la plateforme IBM® i, IBMJCE (IBM Java™ Cryptography Extension) et et des fichiers de clés de fournisseurs CMS (Certificate Management Services) en Java. Si vous spécifiez un fournisseur de fichier de clés dans le fichier java.security ou que vous l'ajoutez à l'aide d'un programme à la liste des fournisseurs, WebSphere Application Server extrait également les fichiers de clés personnalisés. La liste d'extraction dépend de la configuration java.security pour cette plateforme et du processus.
Magasins de clés fondés sur les fichiers IBMJCE (JCEKS, JKS et PKCS12)
<keyStores xmi:id="KeyStore_1" name="NodeDefaultKeyStore"
password="{xor}349dkckdd=" provider="IBMJCE"
location="${USER_INSTALL_ROOT}/config/cells/myhostNode01Cell
/nodes/myhostNode01/key.p12" type="PKCS12" fileBased="true"
hostList="" initializeAtStartup="true" readOnly="false"
description="Fichier de clés par défaut pour myhostNode01" usage="clésSSL"
managementScope="ManagementScope_1"/>
Pour plus d'informations sur les configurations de magasin de clés par défaut, voir Configuration de certificat chaîné par défaut dans SSL. Nom de l'attribut | Valeut par défaut | Description |
---|---|---|
xmi:id | Varie | Valeur émise pour référencer le magasin de clés à partir d'un autre zone de la configuration, par exemple à partir d'une configuration SSL. Faites en sorte que cette valeur soit unique dans le fichier security.xml. |
name | Pour le magasin de clés JSSE : CellDefaultKeyStore. Pour le magasin de relations de confiance JSSE : CellDefaultTrustStore. | Nom permettant d'identifier le magasin de clés d'un seul coup d'oeil. Il indique si le magasin de clés est un magasin de clés par défaut ; c'est le cas s'il se termine par DefaultKeyStore ou DefaultTrustStore. |
mot de passe | Le mot de passe par défaut du magasin de clés est WebAS. Il est conseillé de le modifier le plus rapidement possible. Voir Mise à jour des mots de passe par défaut des fichiers de clés à l'aide de scripts pour plus d'informations. | Le mot de passe utilisé pour accéder au nom du magasin de clés est également celui utilisé par défaut pour stocker les clés dans le magasin de clés. |
description | Aucune | Description du fichier de clés. |
usage | Attribut indiquant le propos de l'utilisation du fichier de clés. | Valeurs acceptables : SSLKeys, KeySetKeys, RootKeys, DeletedKeys, DefaultSigners et RSATokenKeys. |
fournisseur | Le fournisseur par défaut est IBMJCE. | Fournisseur Java qui implémente l'attribut de type (par exemple, type PKCS12). Il peut ne pas être défini ; dans ce cas, le premier fournisseur qui implémente le type de magasin de clés spécifié est utilisé. |
location | L'emplacement par défaut varie, mais généralement il référence un fichier key.p12 ou trust.p12 dans les répertoires de noeud ou de cellule du référentiel de configuration. Ces fichiers sont des magasins de clés de type PKCS12. | Référence de l'emplacement du magasin de clés. Si le magasin de clés est fondé sur un fichier, l'emplacement peut référencer n'importe quel chemin d'accès au système de fichiers du noeud sur lequel se trouve le magasin de clés. Toutefois, si le magasin de clés ne se trouve pas dans le référentiel de configuration et que vous souhaitez le gérer à distance à partir de la console d'administration ou de l'utilitaire wsadamin, indiquez l'attribut hostList, qui contient le nom d'hôte du noeud sur lequel il réside. |
type | Le type de fichier de clés de dispositifs de chiffrement Java par défaut est PKCS12. | Ce type définit le magasin de clés. Les types valides peuvent être ceux renvoyés par l'attribut java.security.Security.getAlgorithms("KeyStore"). Ils incluent les types de magasin de clés suivants, et leur disponibilité dépend du processus et de la configuration java.security de la plateforme :
|
fileBased | La valeur par défaut est true. | Cette option est requise pour les magasins de clés par défaut. Elle indique un magasin de clés de système de fichiers afin de vous permettre d'utiliser un élément FileInputStream ou FileOutputStream pour le chargement et le stockage du magasin de clés. |
hostList | L'attribut hostList permet d'indiquer un nom d'hôte distant afin d'autoriser la gestion à distance du magasin de clés. Par défaut, il n'existe pas de magasin de clés géré à distance. Tous les magasins de clés par défaut sont gérés en local dans le référentiel de configuration et synchronisés par rapport à chacun des noeuds. | L'option gère un magasin de clés à distance. Vous pouvez définir le nom d'hôte d'un noeud valide pour un magasin de clés. Lorsque vous utilisez la console d'administration ou l'utilitaire wsadmin pour gérer les certificats de ce magasin de clés, un appel MBean est lancé vers le noeud sur lequel se trouve le magasin de clés pour l'opération approuvée. Vous pouvez indiquer plusieurs hôtes, bien que la synchronisation des opérations du magasin de clés ne soit pas garantie. Par exemple, l'un des hôtes répertorié peut être arrêté lors de l'exécution d'une opération spécifique. Il convient donc d'utiliser plusieurs hôtes répertoriés dans cette liste. |
initializeAtStartup | La valeur par défaut est true. | Cette option indique au module d'exécution que le magasin de clés doit être initialisé lors du démarrage. Elle peut permettre d'accélérer le périphérique cryptographique matériel. |
readOnly | La valeur par défaut est false. | Cette option indique à la configuration que ce magasin de clés n'est pas accessible en écriture. Cela signifie que certaines opérations de mise à jour ne sont pas autorisées. Le type de fichier de clés JCERACFKS sur la plateforme z/OS appartient à cette catégorie.
Ce type est disponible en lecture seule en ce qui concerne la gestion des certificats WebSphere, mais il peut être mis à jour à l'aide de la fonction de gestion de fichiers de clés pour RACF.
|
managementScope | La portée par défaut est celle du noeud pour un environnement WebSphere Application Server de base et la portée de cellule pour un environnement Network Deployment. | Cette option référence une portée de gestion particulière dans laquelle ce magasin de clés peut être visualisé. Par exemple, si un périphérique cryptographique matériel est physiquement installé sur un noeud spécifique, créez le fichier de clés à partir d'un lien permettant d'accéder à ce noeud dans la vue de topologie sous | . Vous pouvez également utiliser la portée de gestion pour isoler une référence de magasin de clés. Dans certains cas, vous pouvez être amené à autoriser un seul serveur d'applications à référencer le magasin de clés ; la portée de gestion correspond alors à ce serveur.
![[z/OS]](../images/ngzos.gif)
Fichiers de clés z/OS
WebSphere Application Server prend en charge les fichiers de clés basés sur les fichiers IBMJCE, JCEKS (Java Cryptography Extension Key Stores), JKS (Java Key Stores) et PKCS12 (Public Key Cryptography Standards 12), ainsi que des fichiers de clés propres à z/OS. Sous z/OS, la fonction de prise en charge des fichiers de clés basés sur les fichiers IBMJCE est compatible avec celle qu'héberge la plateforme distribuée, à laquelle elle s'apparente.
Le fournisseur IBMJCECCA étend et remplace le fournisseur IBMJCE4758 des éditions précédentes. Les fournisseurs IBMJCECCA et IBMJCE4758 sont fonctionnellement équivalents. Le fournisseur IBMJCECCA prend en charge quatre magasins de clés : JCECCAKS (JCE4758KS) et JCECCARACFKS (JCE4758RACFKS).
Le fichier de clés JCECCAKS utilise des clés qui sont stockées sur du matériel z/OS et gérées par ICSF. Le fichier de clés JCECCARACFKS se charge des certificats gérés et stockés dans des fichiers de clés RACF ; les clés sont stockées sur du matériel z/OS. Bien qu'ils soient obsolètes, les magasins de clés JCE4758KS et JCE4758RACFKS sont inclus à des fin de rétrocompatibilité. Le magasin de clés JCECCAKS étend et remplace le magasin de clés JCE4758KS. Le magasin de clés JCECCARACFKS étend et remplace le magasin de clés JCE4758RACFKS.
- Les fichiers de clés JCECCAKS (en remplacement de JCE4758KS) utilisent des clés stockées sur du matériel z/OS et et des clés gérées par ICSF.
- Les fichiers de clés JCERACFKS sont basés sur RACF (Resource Access Control Facility) et permettent de prendre en charge les clés et les certificats contenus dans un fichier de clés RACF. L'élément de clé stocké dans ICSF n'est pas pris en charge avec ce type de magasin de clés.
- Les fichiers de clés JCECCARACFKS (étendant et remplaçant les fichiers JCE4758RACFKS) reposent sur RACF et sont utilisés pour prendre en charge les certificats contenus dans un fichier de clés RACF, ainsi que les clés stockées sur du matériel z/OS. L'option ICSF accompagnant RACF RACDCERT doit être spécifiée.
- Le type de fichier de clé, JCERACFKS pour le fournisseur IBMJCE et JCECCARACFKS pour le fournisseur IBMJCECCA, est disponible uniquement sur la plateforme z/OS où SAF est disponible.
- Vous pouvez utiliser la console d'administration pour extraire un certificat personnel dans HFS comme type de données ASCII codé en base 64 ou DER binaire. Toutefois, si le type de magasin de clés de la configuration SSL est JCERACFKS , un fichier de 0 octet est créé dans HFS.
- Pour être compatible avec le fichier de clés JCE pour la demande de mot de passe, JCERACFKS nécessite un mot de passe, mais le mot de passe doit être password. La sécurité de ce fichier de clés n'est pas réellement protégée par mot de passe comme les autres types de fichier de clés, mais plutôt basée sur l'identité de l'unité d'exécution en cours pour la protection avec RACF. Le mot de passe est celui du fichier de clés que vous avez spécifié dans la zone Chemin d'accès.
Un fournisseur IBMJCE peut prendre en charge uniquement le magasin de clés JCERACFKS dans l'ensemble des magasins de clés propres à z/OS cités précédemment. Le fournisseur IBMJCE ne peut pas utiliser les éléments des magasins de clés JCECCAKS et JCECCARACFKS, car ceux-ci sont propres au matériel.
Un fournisseur IBMJCECCA peut prendre en charge les éléments de clés logicielles pour les magasins de clés JCERACFKS, JKS et JCEKS et profiter de l'accélération matérielle.
Une nouvelle classe de magasin de clés, JceRACFKeyStore, a été ajoutée aux fournisseurs IBMJCE et IBMJCECCA. Cette classe permet d'extraire les certificats et les clés d'un fichier de clés car ce fichier de clés autorise WebSphere Application Server à lire les données d'un fichier de clés. Toutefois, si le serveur tente d'écrire des données dans le fichier de clés, une exception IOException est lancée. Si RACFInputStream fonctionne avec n'importe quel fichier de clés, il est possible que des données stockées dans RACF soient enregistrées de manière fortuite dans un fichier du système hiérarchique de fichiers si le serveur utilise un fichier de clés autre que la classe JceRACFKeyStore.
- utilisation directe de RACFInputStream pour transmettre une instance nouvellement créée à la classe ceRACFKeyStore ;
- utilisation de URLStreamHandler pour appeler RACFInputStream, puis transmission de l'instance à la classe JceRACFKeyStore.
Tous les services JAVA RACF, y compris JceRACFKeyStore et RACFInputStream, utilisent le service R_datalib (IRRSDL00) pour extraire les certificats à partir de RACF. Pour faire appel à ce service, vous devez obtenir une autorisation d'accès à R_datalib avant d'utiliser une classe JAVA RACF. Pour plus d'informations sur la configuration des droits nécessaires, voir le guide z/OS Security Server Callable Services.
Magasins de clés CMS
Vous pouvez définir des attributs propres à certains fournisseurs dans les magasins de clés CMS.
![[z/OS]](../images/ngzos.gif)
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
<keyStores xmi:id="KeyStore_1132071489571" name="CMSKeyStore"
password="{xor}HRYNFAtrbxEwOzpvbhw6MzM=" provider="IBMCMSProvider"
location="${USER_INSTALL_ROOT}\profiles\AppSrv01/config/cells/myhostCell01
/nodes/myhostNode01/servers/webserver1/plugin-key.kdb" type="CMSKS"
fileBased="true" createStashFileForCMS="true"
managementScope="ManagementScope_1132071489569"/>
<keyStores xmi:id="KeyStore_1132071489571" name="CMSKeyStore"
password="{xor}HRYNFAtrbxEwOzpvbhw6MzM=" provider="IBMi5OSJSSEProvider"
location="${USER_INSTALL_ROOT}\profiles\AppSrv01/config/cells/myhostCell01
/nodes/myhostNode01/servers/webserver1/plugin-key.kdb" type="IBMi5OSKeyStore"
fileBased="true" createStashFileForCMS="true"
managementScope="ManagementScope_1132071489569"/>
![[IBM i]](../images/iseries.gif)
![[IBM i]](../images/iseries.gif)
Magasins de clés de chiffrement matériel
Pour plus d'informations sur la configuration d'une unité de chiffrement, voir Gestion des clés à des fins de chiffrement.
Vous pouvez ajouter un emplacement en tant que propriété personnalisée com.ibm.ssl.keyStoreSlot ou en tant qu'attribut de configuration slot="0". La propriété personnalisée est lue avant l'attribut pour garantir la compatibilité amont.