Procédure
-
Créez un keystore contenant un certificat auto-signé à l'aide de la commande :
keytool -genkey -keyalg RSA -alias tac-tomcat -keystore tac-tomcat-keystore.jks -storepass tacadmin -validity 3600 -keysize 2048
-
Ouvrez le fichier suivant :
<TAC_HOME>\apache-tomcat\conf\server.xml
-
Configurez Apache Tomcat pour qu'il utilise ce keystore en ajoutant les lignes suivantes :
<!-- Define an SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="conf/tac-tomcat-keystore.jks" keystorePass="tacadmin" clientAuth="false" sslProtocol="TLS"/>
-
Commentez la partie non-SSL.
<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" throwOnFailure="true" redirectPort="8443" />
-
Ajoutez le certificat du keystore au TrustStore Apache Tomcat.
#export certificate into .cert file keytool -keystore tac-tomcat-keystore.jks -alias tac-tomcat -export -file tac-tomcat.cert #import certificate into jks keytool -keystore tac-tomcat-truststore.jks -alias tac-tomcat -import -file tac-tomcat.cert
Cela est nécessaire pour éviter l'exception suivante :Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target during user authentication.
-
Ajoutez les paramètres et les valeurs
keystoreFile
etkeystorePass
. -
Ouvrez le fichier suivant :
<TAC_HOME>\apache-tomcat\setenv.bat
-
Modifiez la ligne
set "JAVA_OPTS=%JAVA_OPTS% -Xmx4096m -Dfile.encoding=UTF-8"
parset "JAVA_OPTS=%JAVA_OPTS% -Xmx4096m -Dfile.encoding=UTF-8 -Djavax.net.ssl.trustStore=$CATALINA_HOME/conf/tac-tomcat-truststore.jks -Djavax.net.ssl.trustStorePassword=tacadmin"
-
Redémarrez le Talend Administration Center.
Vérifiez l'URL de Talend Administration Center avec l'adresse suivante
https://localhost:8443/org.talend.administrator
.Pour plus d'informations, consultez https://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html (en anglais).