Configuration des certificats chaînés par défaut dans SSL

Lorsqu'un processus WebSphere Application Server démarre pour la première fois, le module d'exécution SSL (Secure Sockets Layer) initialise les magasins de clés et les magasins de relations de confiance par défaut spécifiés dans la configuration SSL.

Les certificats chaînés créés au cours de la création du profil ont une durée de vie par défaut d'un an. Le certificat racine par défaut utilisé pour signer le certificat chaîné par défaut a une durée de vie de 15 ans. La durée de vie du certificat racine et du certificat par défaut peut être personnalisée lors de la création du profil. Ce type de certificat chaîné offre l'avantage suivant : seul le signataire du certificat racine est nécessaire pour établir la sécurité. Lorsque le certificat chaîné est régénéré avec le même certificat racine, les clients qui utilisent ce certificat de signataire racine pour la sécurité ne perdent pas leur sécurité.

Propriétés du magasin de clés et du magasin de relations de confiance par défaut
WebSphere Application Server crée le fichier du magasin de clés par défaut key.p12 et du magasin de relations de confiance trust.p12 par défaut au cours de la création du profil. Un certificat chaîné par défaut est également créé dans le fichier key.p12. Le signataire racine, ou la clé publique, du certificat chaîné est extrait du fichier key.p12 et ajouté au fichier trust.p12. Si les fichiers n'existent pas lors du démarrage du processus, ils sont recréés à ce moment-là.

Les magasins de clés et les magasins de relations de confiance par défaut sont facilement identifiables par leur suffixe : DefaultKeyStore et DefaultTrustStore. De plus, dans la configuration SSL, vous devez définir l'attribut fileBased sur la valeur true afin que l'environnement d'exécution utilise uniquement les magasins de clés et les magasins de relations de confiance par défaut.

Sur un serveur d'applications de base, les magasins de clés et de relations de confiance par défaut sont stockés dans le répertoire de noeud du référentiel de configuration. Par exemple, les magasins de clés par défaut key.p12 et trust.p12 sont créés avec le nom de profil [IBM i][AIX Solaris HP-UX Linux Windows]AppSrv01 [z/OS]par défaut, le nom myhostNode01Cell et le nom de noeud myhostNode01. Les magasins de clés et de relations de confiance se trouvent dans les répertoires suivants :
  • [AIX Solaris HP-UX Linux Windows][IBM i]C:\WebSphere\AppServer\profiles\AppSrv01\config\cells\myhostNode01Cell \nodes\myhostNode01\key.p12
  • [AIX Solaris HP-UX Linux Windows][IBM i]C:\WebSphere\AppServer\profiles\AppSrv01\config\cells\myhostNode01Cell \nodes\myhostNode01\trust.p12
  • [z/OS]${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell/nodes/myhostNode01/key.p12
  • [z/OS]${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell/nodes/myhostNode01/trust.p12

Le mot de passe par défaut est WebAS pour tous les magasins de clés par défaut générés par WebSphere Application Server. Modifiez-le après la configuration initiale d'un environnement plus sécurisé.

Certificat chaîné par défaut
Le certificat chaîné par défaut du serveur et un certificat d'auto-signature racine utilisé pour signer le certificat chaîné par défaut sont créés pendant la création du profil.
Propriétés de certificat racine :
Information valeur
type auto-signature
taille 2048
algorithme de signature SHA256withRSA
nom distinctif du sujet cn=${hostname},ou=Root Certificate, ou=<node name>, ou= <cell name>,o=IBM,c=US
durée de vie 15 ans
Propriétés des certificats par défaut :
Information valeur
type chaîné (signé par le certificat racine)
taille 2048
algorithme de signature SHA256withRSA
nom distinctif du sujet cn=${hostname},ou=<node name>,ou=<cell name>,o=IBM,c=US
durée de vie 1 an

Vous pouvez recréer les certificats avec des informations différentes en supprimant simplement les fichiers *.p12 dans /config et /etc. Modifiez les quatre propriétés dans l'exemple de code suivant en leur affectant les valeurs que les certificats doivent contenir, puis redémarrez les processus. Le certificat serveur contenu dans /config et le certificat client contenu dans /etc ne sont plus identiques.

Les propriétés de certificat dans l'exemple de code ci-dessous existent dans le fichier ssl.client.props, mais pas dans la configuration du serveur. Vous pouvez toutefois utiliser ces valeurs dans la configuration du serveur en les ajoutant en tant que propriétés de sécurité personnalisées dans la console d'administration. Cliquez sur Sécurité > Sécurité globale > Propriétés personnalisées pour modifier les propriétés suivantes :
com.ibm.ssl.defaultCertReqAlias=default_alias
com.ibm.ssl.defaultCertReqSubjectDN=cn=${hostname},ou=myhostNode01,ou=myhostNode01Cell,o=IBM,c=US
com.ibm.ssl.defaultCertReqDays=365
com.ibm.ssl.defaultCertReqKeySize=1024
com.ibm.ssl.rootCertSubjectDN=cn=${hostname},ou=Root Certificate, ou=myhostNode01,
ou=myhostNode01Cell,o=IBM,c=US
com.ibm.ssl.rootCertValidDays=7300
com.ibm.ssl.rootCertAlias=root
com.ibm.ssl.rootCertKeySize=1024
Après avoir modifié les propriétés, procédez comme suit :
  1. Supprimez le fichier de clés par défaut key.p12 et le fichier de clés certifiées trust.p12 du gestionnaire de déploiement qui contient le certificat chaîné par défaut. Si ces fichiers n'existent pas, WebSphere Application Server les génère automatiquement et crée des certificats par défaut en utilisant les valeurs de propriétés précédentes.
  2. Supprimez le fichier de clés racine (root-key.p12) pour régénérer le certificat racine avec les propriétés précédentes.
  3. Redémarrez le gestionnaire de déploiement, son noeud et tous les serveurs.
  4. Signez chaque noeud en utilisant le certificat racine.
    • Si les noeuds ne sont pas fédérés, fédérez chaque noeud dans le gestionnaire de déploiement en utilisant la commande addNode. Le certificat par défaut du noeud est régénéré en utilisant le certificat racine de la cellule.
    • Si les noeuds sont fédérés, renouvelez le certificat de chaque noeud en utilisant le certificat racine de la cellule. Vous pouvez le renouveler en utilisant la console d'administration ou la commande renewCertificate. Pour plus d'informations, voir la rubrique sur le renouvellement d'un certificat dans la documentation de la commande renewCertificate.

Si une valeur default_alias existe déjà, le module d'exécution ajoute _#, où le signe dièse (#) est un nombre qui augmente jusqu'à ce qu'elle soit unique dans le magasin de clés. ${hostname} est une variable qui correspond au nom d'hôte de la machine sur laquelle il a été créé. Par défaut, les certificats chaînés arrivent à expiration un an après leur création.

Le module d'exécution contrôle les dates d'expiration des certificats chaînés en utilisant le contrôleur d'expiration de certificat. Ces certificats chaînés sont automatiquement remplacés, tout comme les certificats de signataire, lorsqu'ils sont proches du seuil d'expiration, qui est généralement fixé à 30 jours avant la date d'expiration. Vous pouvez augmenter la taille de clé par défaut au-delà des 1024 bits à condition que les fichiers de règles de l'environnement JRE ( Java™ runtime environment) ne soient pas restreints (c'est-à-dire qu'il ne soient pas exportés). Pour plus d'informations, voir Contrôle de l'expiration des certificats dans SSL.

Configurations de magasin de clés et de magasin de relations de confiance par défaut pour les nouveaux processus de serveur d'applications de base
L'exemple de code suivant décrit la configuration SSL par défaut d'un serveur d'applications de base. Les références aux fichiers de magasin de clés et de magasin de relations de confiance par défaut sont mises en évidence.
<repertoire xmi:id="SSLConfig_1" alias="NodeDefaultSSLSettings" 
managementScope="ManagementScope_1">
<setting xmi:id="SecureSocketLayer_1" clientAuthentication="false" 
securityLevel="HIGH" enabledCiphers="" jsseProvider="IBMJSSE2" sslProtocol="SSL_TLS" 
keyStore="KeyStore_1" trustStore="KeyStore_2" trustManager="TrustManager_1" 
keyManager="KeyManager_1"/>
</repertoire>
Fichier de clés par défaut
Dans l'exemple de code suivant, l'objet de magasin de clés qui représente le magasin de clés par défaut est similaire à l'objet XML.
<keyStores xmi:id="KeyStore_1" name="NodeDefaultKeyStore"
password="{xor}349dkckdd=" provider="IBMJCE" location="${WAS_INSTALL_ROOT}/config
/cells/myhostNode01Cell/nodes/myhostNode01/key.p12" type="PKCS12" fileBased="true" 
hostList="" initializeAtStartup="true" managementScope="ManagementScope_1"/>
Le magasin de clés NodeDefaultKeyStore contient le certificat personnel qui représente l'identité du noeud final sécurisé. Toute référence de magasin de clés peut utiliser la variable ${WAS_INSTALL_ROOT}, qui est développée par le module d'exécution. Le type de magasin de clés par défaut PKCS12 est au format le plus interopérable, ce qui signifie qu'il peut être importé dans la plupart des navigateurs. Le mot de passe myhostNode01Cell est codé. La portée de gestion détermine quel module d'exécution du serveur charge la configuration du magasin de clés en mémoire, comme indiqué dans l'exemple de code suivant :
<managementScopes xmi:id="ManagementScope_1" scopeName="
(cell):myhostNode01Cell:(node):myhostNode01" scopeType="node"/>

Tout objet de configuration stocké dans le fichier security.xml dont les portées de configuration ne sont pas comprises dans les portées du processus en cours n'est pas chargé dans le processus en cours. La portée de gestion est chargée par les serveurs qui sont contenus dans le noeud myhostNode01. Tout serveur d'applications installé sur le noeud spécifique peut visualiser la configuration du magasin de clés.

Lorsque vous affichez la liste du contenu du fichier key.p12 pour visualiser le certificat chaîné, sachez que le nom commun du nom distinctif est le nom d'hôte de la machine résidente. Cette liste permet de vérifier le nom d'hôte par ses connexions d'URL. De plus, vous pouvez vérifier le nom d'hôte à partir d'un gestionnaire de relations de confiance personnalisé. Pour plus d'informations, voir la rubrique Contrôle de la validation des certificats X.509 par le gestionnaire de relations de confiance.

Contenu du magasin de clés par défaut
L'exemple de code suivant décrit le contenu du fichier key.p12 par défaut dans une liste d'outil de clés : [AIX Solaris HP-UX Linux Windows][IBM i]
keytool -list -v -keystore c:\WebSphere\AppServer\profile\AppSrv01\profiles\config
\cells\myhostNode01Cell\nodes\myhostNode01\key.p12 -storetype PKCS12 -storepass *****
[z/OS]
${profile_root}\config\cells\${cellname}\nodes\${nodename}>  keytool -list
-v -keystore ${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell
/nodes/myhostNode01/key.p12 -storetype PKCS12 -storepass *****
Type de magasin de clés : PKCS12
Fournisseur de magasin de clés : IBMJCE

Votre magasin de clés contient 1 entrée

Nom d'alias : default
Date de création : 31 Déc 1969
Type d'entrée : keyEntry
Longueur de la chaîne de certificats : 2
Certificat [1] :
Propriétaire : CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Emetteur : CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Numéro de série : 4e48f29aafea6
Valide depuis : 2/7/08 1:03 PM jusqu'à : 2/6/09 1:03 PM
Empreintes du certificat :
  MD5: DB:FE:65:DB:40:13:F4:48:A4:CE:2F:4F:60:A5:FF:2C
  SHA1: A1:D4:DD:4B:DE:7B:45:F7:4D:AA:6A:FC:92:38:78:53:7A:99:F1:DC
Certificat [2] :
Propriétaire : CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Emetteur : CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Numéro de série : 4e48e5fd4eae3
Valide depuis : 2/7/08 1:03 PM jusqu'à 2/2/28 1:03 PM
Empreintes du certificat :
  MD5: A5:9B:05:78:CF:AB:89:94:C9:2E:F1:87:34:B3:FC:75
  SHA1: 43:74:B6:C7:FA:C1:0F:19:F2:51:2B:17:60:0D:34:93:55:BF:D5:D2

*******************************************
*******************************************

Le nom d'alias et le type d'entrée keyEntry par défaut indiquent que la clé privée est stockée avec la clé publique qui représente un certificat personnel complet. Le certificat est détenu par CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US et il est émis par le certificat racine par défaut qui est détenu par CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Par défaut, le certificat est valide pendant un an à partir de la date de création.

De plus, dans certaines situations signataire-échange, l'empreinte digitale du certificat s'assure que le certificat envoyé n'a pas été modifié. L'empreinte digitale, qui est une sortie d'algorithme de hachage pour le certificat, est affichée par le module d'exécution de WebSphere Application Server au cours d'un échange automatique de signataire côté client. L'empreinte digitale du client doit correspondre à celle qui s'affiche sur le serveur. Le module d'exécution utilise généralement l'algorithme de hachage SHA1 pour générer les empreintes digitales de certificat.

Magasin de relations de confiance par défaut
Dans l'exemple de code suivant, l'objet de magasin de clés représente le magasin de relations de confiance trust.p12 par défaut. Le magasin de relations de confiance contient les certificats de signataire nécessaires à la prise de décision dans ce domaine :
<keyStores xmi:id="KeyStore_2" name="NodeDefaultTrustStore" 
password="{xor}349dkckdd=" provider="IBMJCE" location="${WAS_INSTALL_ROOT}
/config/cells/myhostNode01Cell/nodes/myhostNode01/trust.p12" type="PKCS12" 
fileBased="true" hostList="" initializeAtStartup="true" managementScope="ManagementScope_1"/>
Contenu du magasin de relations de confiance par défaut
L'exemple de code suivant décrit le contenu du magasin de relations de confiance trust.p12 par défaut dans une liste d'outil de clés. Par défaut, le signataire du certificat racine est inclus dans le magasin de relations de confiance pour l'exemple de certificat chaîné. Le nom d'alias du signataire racine et le type d'entrée trustedCertEntry indiquent que le certificat est la clé publique. La clé privée n'est pas stockée dans ce magasin de relations de confiance. De plus, tous les fichiers de clés certifiées contiennent le certificat par défaut DataPower.[AIX Solaris HP-UX Linux Windows][IBM i]
keytool -list -v -keystore c:\WebSphere\AppServer\profile\AppSrv01\profiles\config\cells\myhostNode01Cell
\nodes\myhostNode01\trust.p12 -storetype PKCS12 -storepass *****
[z/OS]
${profile_root}\config\cells\${cellname}\nodes\${nodename}>  keytool -list
-v -keystore ${WAS_INSTALL_ROOT}/profile/default/config/cells/myhostNode01Cell
/nodes/myhostNode01/trust.p12 -storetype PKCS12 -storepass ***** 
Type de magasin de clés : PKCS12
Fournisseur de magasin de clés : IBMJCE

Votre magasin de clés contient 2 entrées

Nom d'alias : root
Date de création : 31 Déc 1969
Type d'entrée : trustedCertEntry

Propriétaire : CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Emetteur : CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Numéro de série : 4e48e5fd4eae3
Valide depuis : 2/7/08 1:03 PM jusqu'à 2/2/28 1:03 PM
Empreintes du certificat :
   MD5: A5:9B:05:78:CF:AB:89:94:C9:2E:F1:87:34:B3:FC:75
   SHA1: 43:74:B6:C7:FA:C1:0F:19:F2:51:2B:17:60:0D:34:93:55:BF:D5:D2

*******************************************
*******************************************

Nom d'alias : datapower
Date de création : 31 Déc 1969
Type d'entrée : trustedCertEntry

Propriétaire : OU=Root CA, O="DataPower Technology, Inc.", C=US
Emetteur : OU=Root CA, O="DataPower Technology, Inc.", C=US
Numéro de série : 0
Valide depuis : 6/11/03 1:23 PM jusqu'à : 6/6/23 1:23 PM
Empreintes du certificat :
   MD5: 18:AC:86:D1:9A:90:A2:AE:8B:28:F9:A8:75:C8:A9:DB
   SHA1: A9:BA:A4:B5:BC:26:2F:5D:2A:80:93:CA:BA:F4:31:05:F2:54:14:17

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_7ssldefault_chainedcert_config
Nom du fichier : csec_7ssldefault_chainedcert_config.html