Bonjour,

voilà quelques jours que je rencontre un petit soucis avec les certifications ssl dans tomcat. Je souhaiterais après avoir généré en dehors du keytool un certificat ssl et une clé privée pouvoir l'importer dans le keytool java pour ensuite l'utiliser dans tomcat.
J'ai seulement deux fichiers server1.crt et server1.key.
En utilisant cette commande :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 keytool -import -trustcacerts -alias tomcat  -file server1.crt -keystore mykeystore.jks
J'obtiens bien une entrée dans mon keytool : keytool -list -v -keystore mykeystore.jks

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 Entrez le mot de passe du fichier de clés :
 
Type de fichier de clés : JKS
Fournisseur de fichier de clés : SUN
 
Votre fichier de clés d'accÞs contient 1 entrée
 
tomcat, 20 févr. 2015, trustedCertEntry,
Empreinte du certificat (SHA1) : DC:D9:0F:DC:54:B8:DB:A3:C0:CB:2B:1F:62:B0:8C:B9
:BC:B8:22:65
Ensuite dans le fichier de configuration server.xml j'active le connecteur https :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<Connector protocol="org.apache.coyote.http11.Http11Protocol"
           port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true"
      keyAlias="tomcat"	keystoreFile="c:/mykeystore.jks" keystorePass="******"
           clientAuth="false" sslProtocol="TLS"/>
Mais j'obtiens cette erreur en lancant tomcat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
Caused by: java.io.IOException: Le nom alias tomcat n'identifie pas une entrée de clef
	at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:579)
	at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:517)
	at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:462)
	at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:209)
	at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:398)
	at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:646)
	at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
	at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
	at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
	... 13 more
Je tiens à préciser qu'en créant un keystore de manière classique et en générant un certificat avec cette commande

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 keytool -genkey -alias tomcat -keyalg RSA -keystore mykeystore.jks
Cela fonctionne correctement mais ce n'est pas ce que je veux faire. Je veux pouvoir utiliser un certificat auto signé généré en dehors du keytool et l'utiliser avec tomcat. Si quelqu"un pouvait m'éclairer ça serait vraiment sympa
Merci d'avance.