Konfigurer Truststore i Tomcat
Jeg tror, jeg kan have fundet hvordan, eller i det mindste én måde at gøre dette på. Nogen, fortæl mig, om der er en bedre måde at behandle dette på. I mappen Tomcat\bin, hvor catalina.bat-filen er, oprettede jeg en setenv.bat-fil, og deri erklærede jeg de to Java-egenskaber for;
set JAVA_OPTS="-Djavax.net.ssl.trustStore=C:\path\to\keystore.key" "-Djavax.net.ssl.trustStorePassword=************"
Når Tomcat startes, starter den tilsyneladende catalina.bat-filen, og catalina.bat-filen bestemmer, om der findes en setenv.bat-fil, og i så fald kører den denne fil for at indstille Java-indstillingerne.
Endnu en gang, korriger mig venligst hvis jeg tager fejl og rådgiv mig om en bedre måde at gøre dette på. Selvom Tomcat tilsyneladende er sat op som en Windows-tjeneste, indlæses ovenstående muligheder gennem tomcatXw.exe for at starte Tomcat-konsollen, og fanen Java er valgt.
Hvis nogen andre har dette spørgsmål, er det her, hvad jeg gjorde:
1. Naviger til \tomcatDirectory\bin\
2. Rediger catalina.sh/bat afhængigt af din maskine.
3. Føj disse egenskaber til egenskaben JAVA_OPTS
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=$CATALINA_HOME/certificates/truststore.ks -Djavax.net.ssl.trustStorePassword=truststorePassword -server"
Dette vil i det væsentlige fortælle tomcat at bruge det angivne truststore i stedet for standard cacerts truststore, som tomcat indlæser, hvis den ikke finder nogen truststore angivet i systemegenskaberne.
Jeg har også bemærket, at det er muligt at definere truststore i tomcats hovedkonfigurationsfil server.xml . Alt du skal gøre er at indstille disse egenskaber i forbindelsen ejendom.
<Connector port="8443" maxThreads="500"
server="Apache"
scheme="https" secure="true" SSLEnabled="true" acceptCount="500"
keystoreFile="/apps/content/certificates/keystore.ks" keystorePass="keystorepass"
truststoreFile="/apps/content/certificates/truststore.ks" truststorePass="truststorePassword"/>
Prøv det, håber det hjælper!
Det anbefalede svar virker kun for Tomcat installeret i Windows, jeg fandt ud af, at nedenstående fungerer for mig i Linux server:
TOMDOGEDIRECTORY/bin/setenv.sh [Du skal selv oprette denne fil ]
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/opt/meh_tuststove.jks"
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStorePassword=muchsecure"
export JAVA_OPTS