J'essaie de configurer SSL dans mon installation Tomcat 6 locale. Pour cela, je suivais le How-To officiel procédant comme suit:Format de fichier de clés non valide avec SSL dans Tomcat 6
$JAVA_HOME/bin/keytool -genkey -v -keyalg RSA -alias
tomcat -keypass changeit -storepass changeit
$JAVA_HOME/bin/keytool -export -alias tomcat -storepass
changeit -file /root/server.crt
Puis, changeant l'en commentant CATALINA_BASE $/conf/server.xml, ceci:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/root/.keystore" keystorePass="changeit" />
Après avoir démarré Tomcat, je reçois ce exception:
INFO: Initializing Coyote HTTP/1.1 on http-8080
30.06.2011 10:15:24 org.apache.tomcat.util.net.jsse.JSSESocketFactory getStore
SCHWERWIEGEND: Failed to load keystore type JKS with path /root/.keystore
due to Invalid keystore format
java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:633)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
at java.security.KeyStore.load(KeyStore.java:1185)
Quand je regarde dans le keystore avec keytool -list
je reçois
[email protected]:~# $JAVA_HOME/bin/keytool -list
Enter key store password: changeit
Key store type: gkr
Key store provider: GNU-CRYPTO
Key store contains 1 entry(ies)
Alias name: tomcat
Creation timestamp: Donnerstag, 30. Juni 2011 - 10:13:40 MESZ
Entry type: key-entry
Certificate fingerprint (MD5): 6A:B9:...C:89:1C
De toute évidence, les types de magasin de clés sont différents. Comment puis-je changer le type et cela va-t-il résoudre mon problème? Je vous remercie!
Merci beaucoup pour votre réponse :-) Il y a quelques questions supplémentaires mineures ^^ quel utilisateur devrait lancer Tomcat? Comment savoir ce truc de keytool? Ce serait la dernière chose à penser qu'il y a tellement de versions différentes sur mon ordinateur ?! Et enfin: j'ai créé un .keystore et un server.crt avec les commandes mentionnées. Tomcat démarre complètement, mais le navigateur mentionne toujours que le certificat n'est pas fiable ... Je vais créer une prime pour vous donner plus de points :-) – strauberry
Pour configurer vos multiples installations Java, regardez [update-java-alternatives] (http://wiki.debian.org/Java/Sun). Il semble que vous ayez installé Tomcat en utilisant le paquet Debian, donc un utilisateur 'tomcat' ou' tomcat6' a probablement été créé. Il y a un script '/ etc/init.d/tomcat6' qui devrait démarrer/arrêter Tomcat sous cet utilisateur pour vous. '/ usr/share/doc/tomcat6/README.Debian.gz' aura certainement plus d'informations à ce sujet. – Bruno
En ce qui concerne le certificat de serveur, puisqu'il est auto-signé, vous devez l'importer manuellement sur les navigateurs que vous utilisez: soit ajouter manuellement une exception (vous pouvez vérifier qu'il correspond au '.crt' que vous avez émis: vous pouvez vérifier en utilisant 'openssl x509 -text -noout -in server.crt' par exemple), ou importer directement le fichier' server.crt' dans votre navigateur. – Bruno