Installation sécurisée pour l'extraction des signataires client dans SSL
Chaque profil de l'environnement WebSphere Application Server contient un certificat chaîné unique signé par un certificat racine unique à durée de vie longue qui a été créé en même temps que le profil. Ce certificat remplace le certificat auto-signé par défaut qui est livré avec WebSphere Application Server version 6.1 ainsi que le certificat factice par défaut livré dans les éditions antérieures à la version 6.1. Lorsqu'un profil est fédéré vers un gestionnaire de déploiement, le signataire du certificat signataire racine est ajouté au magasin de relations de confiance commun de la cellule, établissant ainsi une relation de confiance pour tous les certificats signés par ce certificat racine.

Par défaut, les clients ne considèrent pas comme étant dignes de confiance les serveurs issus de profils différents dans l'environnement WebSphere Application Server. En d'autres termes, ils ne contiennent pas le signataire racine de ces serveurs. Pour établir des relations de confiance, exécutez les opérations suivantes :
- Activez l'invite d'échange de signataire afin d'accepter le signataire lors de la tentative de connexion.
- Exécutez l'utilitaire retrieveSigners pour télécharger les signataires à partir de ce système avant d'établir la connexion.
- Copiez le fichier trust.p12 se trouvant dans le répertoire /config/cells/<nom_cellule>/nodes/<nom_noeud> du profil de serveur vers le répertoire /etc du client. Mettez à jour la configuration SSL afin qu'elle reflète le nouveau nom de fichier et mot de passe, s'ils sont différents. Une fois que ce fichier a été copié, le client dispose d'un magasin de relations de confiance trust.p12 qui contient tous les signataires émis par les serveurs contenus dans cette cellule. De plus, il peut s'avérer nécessaire d'exécuter cette étape pour les clients de niveau antérieur qui utilisent encore le fichier DummyClientTrustFile.jks. Dans ce cas, vous pouvez être amené à modifier le fichier sas.client.props ou soap.client.props afin que le nouveau magasin de relations de confiance, le nouveau mot de passe de magasin de relations de confiance et le nouveau type de magasin de relations de confiance (PKCS12) soient pris en compte.
Utilisation de l'invite d'échange de signataire pour extraire les signataires à partir d'un client
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\serverStatus -all ADMU0116I: Tool information is being logged in file
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\logs\serverStatus.log ADMU0128I: Starting tool with the
AppSrv01 profile ADMU0503I:
Retrieving server status for all servers ADMU0505I: Servers found in configuration:
ADMU0506I: Server name: dmgr
*** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5 is not found in truststore
C:\WebSphere\AppServer\profiles\AppSrv01\etc\trust.p12.
Here is the signer information (verify the digest value matches what is displayed at the server):
Subject DN: CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01,
O=IBM, C=US
Serial number: 2510775664686266 Expires: Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest: 2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN: CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Add signer to the truststore now? (y/n) y A retry of the request may need to occur. ADMU0508I:
The Deployment Manager "dmgr" is STARTED
![[IBM i]](../images/iseries.gif)
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin/serverStatus -all ADMU0116I:
Tool information is being logged in file
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/logs/serverStatus.log ADMU0128I:
Starting tool with the dmgr profile ADMU0503I:
Retrieving server status for all servers ADMU0505I: Servers found in configuration:
ADMU0506I: Server name:
dmgr *** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5 is
not found in truststore
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12.
Here is the signer information (verify the digest value matches what is displayed at the server):
Subject DN: CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01,
O=IBM, C=US
Serial number: 2510775664686266 Expires: Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest: 2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN: CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Add signer to the truststore now? (y/n) y A retry of the request may need to occur. ADMU0508I:
The Deployment Manager "dmgr" is STARTED
![[IBM i]](../images/iseries.gif)
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/bin/serverStatus -all ADMU0116I:
Tool information is being logged in file
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/logs/serverStatus.log ADMU0128I:
Starting tool with the default profile ADMU0503I: Retrieving server status for all servers
ADMU0505I: Servers found in
configuration: ADMU0506I: Server name: server1
*** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5
is not found in truststore
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/etc/trust.p12.
Here is the signer information
(verify the digest value matches what is displayed at the server):
Subject DN: CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01,
O=IBM, C=US Issuer DN:
CN=myhost.austin.ibm.com, O=IBM, C=US
Serial number: 2510775664686266 Expires: Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest: 2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN: CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Add signer to the truststore now? (y/n) y A retry of the request may need to occur.
ADMU0508I: The Application Manager "server1" is STARTED
Pour automatiser ce processus, voir Commande retrieveSigners.Lorsqu'une invite s'affiche concernant l'acceptation du signataire, un dépassement de socket peut se produire, ce qui peut entraîner la rupture de la connexion. Pour cette raison, le message "Une nouvelle tentative de la demande peut être nécessaire" s'affiche après la réponse à l'invite. Ce message indique à l'utilisateur de soumettre à nouveau la requête. Cet incident n'est généralement pas fréquent et concerne certains protocoles plus que d'autres.
Une nouvelle tentative de la requête peut être nécessaire si le socket arrive à expiration pendant qu'il attend une réponse à l''invite. Dans ce cas, notez que l'invite ne sera pas réaffichée si (y) est entré, ce qui indique que le signataire a déjà été ajouté au magasin de relations de confiance.
Vérifiez le digest SHA-1 affiché qui correspond à la signature du certificat envoyée par le serveur. Si vous consultez le certificat sur le serveur, vérifiez que le même digest SHA-1 s'affiche.
Vous pouvez désactiver l'invite afin qu'elle ne s'affiche plus ; pour cela, exécutez l'utilitaire retrieveSigners qui permet d'extraire tous les signataires d'une cellule particulière. Vous pouvez télécharger les signataires à partir d'un magasin de relations de confiance distant quelconque en référençant un magasin de relations de confiance commun avec ce script client. Pour plus d'informations, voir la rubrique relative de la configuration de certificat en chaîne par défaut dans SSLConfiguration des certificats chaînés par défaut dans SSL.
Utilisation de l'utilitaire retrieveSigners pour télécharger les signataires à partir d'un client
Vous pouvez exécuter l'utilitaire retrieveSigners pour extraire tous les signataires à partir d'un magasin de clés distant pour un magasin de relations de confiance client spécifié.Le magasin de relations de confiance standard à référencer est CellDefaultTrustStore.
Le magasin de relations de confiance contient les signataires qui autorisent le client à se connecter à ses processus. L'utilitaire retrieveSigners peut désigner n'importe quel magasin de relations de confiance dans la configuration cible, dans la portée du processus cible, et il peut télécharger les signataires (entrées de certificat uniquement) vers n'importe quel magasin de clés du client dans le fichier ssl.client.props.![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\retrieveSigners.bat CellDefaultTrustStore
ClientDefaultTrustStore -autoAcceptBootstrapSigner CWPKI0308I: Adding signer alias
"CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following SHA
digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA CWPKI0308I:
Adding signer alias "default" to
local keystore "ClientDefaultTrustStore" with the following SHA digest:
40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:92:9E:37:8D:51:A5:47
![[IBM i]](../images/iseries.gif)
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin retrieveSigners CellDefaultTrustStore
ClientDefaultTrustStore -autoAcceptBootstrapSigner CWPKI0308I: Adding signer alias "CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following
SHA digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA CWPKI0308I: Adding signer alias
"default" to local keystore
"ClientDefaultTrustStore" with the following SHA digest: 40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:
92:9E:37:8D:51:A5:47
Utilisez l'option –autoAcceptBootstrapSigner pour autoriser WebSphere
Application Server à extraire automatiquement le signataire et à l'accepter pour les connexions administratives.
Le digest SHA-1 est imprimé tandis que le signataire est ajouté pour que vous puissiez contrôler le digest une fois l'opération terminée. Obtention des signataires pour les clients et les serveurs à partir d'une édition précédente
Pour connecter tous les signataires de la cellule dans un seul fichier de magasin de clés trust.p12, exécutez les étapes suivantes :
- Copiez le fichier de magasin de clés trust.p12 sur le serveur et répliquez-le sur le client. Le client référence le fichier directement à partir des fichiers sas.client.props et soap.client.props qui indiquent les propriétés SSL pour les éditions précédentes.
- Modifiez le mot de passe du magasin de clés côté client afin qu'il corresponde au nom de cellule par défaut associé au magasin de clés copié.
- Modifiez le type de magasin de clés par défaut pour le fichier trust.p12 en le remplaçant par PKCS12 dans la configuration du client.
Les deux exemples de code suivants présentent la configuration avant et après les modifications.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=
file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks
com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKS
![[IBM i]](../images/iseries.gif)
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/
dmgr/etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/
AppServer/V85/ND/profiles/dmgr/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\
= com.ibm.ssl.trustStoreType=JKS
![[IBM i]](../images/iseries.gif)
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/
etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/AppServer/
V85/Base/profiles/default/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKS
Modifications de configuration SSL à apporter
au fichier de magasin de relations de confiance commun dans le répertoire /etc du client![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
![[IBM i]](../images/iseries.gif)
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
![[IBM i]](../images/iseries.gif)
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/profiles/default/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
Vous pouvez également apporter ces modifications dans le fichier soap.client.props et spécifier le fichier key.p12 à la place de DummyClientKeyFile.jks. Toutefois, vous devez également modifier les valeurs keyStorePassword et keyStoreType afin qu'elles correspondent à celles indiquées dans le fichier key.p12 par défaut.
Dans les éditions de WebSphere Application Server antérieures à 7.0, vous devez modifier la configuration SSL sur le serveur afin de remplacer le fichier de clés certifiées commun. Le fichier trust.p12, utilisé par le serveur, doit également contenir le signataire de certificat factice par défaut pour les connexions établies entre les serveurs à des niveaux d'édition antérieurs. Vous pouvez être amené à extraire manuellement le certificat par défaut du fichier DummyServerKeyFile.jks et à l'importer ensuite dans le fichier trust.p12 que vous avez ajouté à la configuration.