Hantera SSL i Tomcat på Windows
Guide för SSL/TLS-konfiguration i Apache Tomcat på Windows med Java-keystore och PKCS#12.
Introduktion
När du beställer ett SSL-certifikat krävs en Certificate Signing Request (CSR), som genereras utifrån en privat nyckel.
Om du själv vill skapa den privata nyckeln och generera CSR-filen, följ instruktionerna under Generera CSR och därefter Installation av SSL-certifikat.
Alternativt kan du välja vår CSR-tjänst vid beställningen. Då genererar vi den privata nyckeln och CSR-filen åt dig, och du får certifikatet och nyckeln levererade säkert i en samlad .PFX-fil. Följ i så fall Installation via PFX-fil.
Förutom att installera certifikatet ska du se till att HTTPS-connectorn är aktiverad i konfigurationen och använder rätt port, till exempel 443.
Alla angivna sökvägar utgår från en standardinstallation. Om din server är installerad på ett annat sätt behöver du anpassa sökvägarna därefter.
Så kontrollerar du vilken version som är installerad:
- Kör följande kommando för att se versionerna av OS, Tomcat och JVM:
c:\tomcat\bin\version.bat

- Skapa en mapp med namnet certificates för certifikat och keystore-filer:
mkdir c:\tomcat\certificates

Generera CSR
I det här exemplet används ett enskilt DNS-namn som fungerar för både standard- och SAN-certifikat. För ett wildcard-certifikat ska Common Name ändras till *.fairssl.se
För att genomföra beställningen och skapa CSR:en behöver du följande uppgifter till certifikatet:
- Common Name (CN): Webbplatsens fullständiga domännamn (FQDN). Exempel: www.fairssl.se
- Organization Name (O): Organisationens fullständiga juridiska namn. Exempel: FairSSL ApS
- Organizational Unit (OU): Avdelningen som ska använda certifikatet. Får inte kunna förväxlas med ett annat företag. Vi rekommenderar att du lämnar fältet tomt eller anger företagsnamnet. Exempel: FairSSL ApS
- Locality (L): Stad/ort. Exempel: Stockholm
- State (S): Län eller kommun. Exempel: Stockholms län
- Country (C): Landskod enligt ISO-standard med två bokstäver, skrivs med versaler. Exempel: SE
Keytool hanterar inte alltid Å, Ä och Ö korrekt. Ersätt dem vid behov med A, A och O.
Skapa keystore
- Skapa en keystore-fil genom att köra följande kommando:
Om du redan har en keystore kan du använda sökvägen till den tillsammans med tillhörande lösenord.
- alias: Ett namn som gör det lätt att känna igen webbplatsen där certifikatet ska användas, till exempel DNS-namnet.
- password: Här anger du ett lösenord för keystore-filen. Om du lämnar det tomt används standardlösenordet: changeit
"c:\Program Files\Java\jdk1.8.0_181\bin\keytool.exe" -genkey -alias www.mydomain.dk -keyalg RSA -keysize 2048 -keystore c:\tomcat\certificates\keystore
Använd nu den information du samlade in under Generera CSR.
First and last name: Här anger du Common Name.
Vid Enter key password for trycker du bara Enter utan att skriva något, eftersom Tomcat kräver samma lösenord för keystore och nyckel.

Skapa CSR
- För att skapa en CSR behöver du det alias du valde när du skapade din keystore.
Kör följande kommando med lösenordet till din keystore-fil:
- alias: Det alias du vill använda för att skapa CSR-filen.
- keystore: Sökväg och namn på keystore-filen.
- file: Sökväg och namn för den CSR-fil som ska skapas.
"c:\Program Files\Java\jdk1.8.0_181\bin\keytool.exe" -certreq -keyalg RSA -keysize 2048 -alias www.mydomain.dk -keystore c:\tomcat\certificates\keystore -file c:\tomcat\certificates\www.mydomain.dk.csr

- Öppna CSR-filen med valfri textredigerare (till exempel notepad www.fairssl.dk.csr).
Kopiera hela texten, inklusive alla bindestreck i början och slutet.
Klistra in texten i CSR-fältet vid beställning av certifikatet.
Här är ett exempel på hur en komplett CSR-text ser ut:

Installation av SSL-certifikat
- Importera det mellanliggande certifikatet till din keystore-fil:
"c:\Program Files\Java\jdk1.8.0_181\bin\keytool.exe" -import -alias root -keystore c:\tomcat\certificates\keystore -trustcacerts -file c:\tomcat\certificates\intermediate.crt

- Importera ditt certifikat till din keystore-fil:
"c:\Program Files\Java\jdk1.8.0_181\bin\keytool.exe" -import -alias www.mydomain.dk -keystore c:\tomcat\certificates\keystore -file c:\tomcat\certificates\www.mydomain.dk.crt

- Starta om Tomcat-tjänsten.
Installation via PFX-fil
Tomcat 5 och senare kan använda PKCS#12-filer direkt i konfigurationen.
Om det inte fungerar, följ instruktionerna för Konvertering från PFX till keystore (kräver JVM 1.6+).
- Placera din PFX-fil i c:\tomcat\certificates
- Öppna filen server.xml med en textredigerare, till exempel:
- notepad c:\tomcat\conf\server.xml
- Lägg in följande och anpassa värdena efter din server:
- hostName: DNS-namnet för din webbplats.
- certificateKeystoreFile: Sökvägen till din PFX-fil.
- keystorePass: Lösenordet till PFX-filen. Om du har använt vår CSR-tjänst skickas lösenordet via SMS.
hostName="www.mydomain.dk"
maxThreads="200"
scheme="https"
secure="true"
SSLEnabled="true"
Protocols="TLSv1,TLSv1.1,TLSv1.2"
clientAuth="false">
keystorePass="MyPassWord"
keystoreType="PKCS12" />

- Starta om Tomcat-tjänsten.
Konvertering från PFX till keystore
- Om du har en befintlig keystore, säkerhetskopiera den med följande kommando:
move c:\tomcat\certificates\keystore c:\tomcat\certificates\keystore.bak

- Om du har använt vår CSR-tjänst heter aliaset ungefär fairssl-2018. Du kan behålla namnet eller byta till ett som är lättare att känna igen.
Kör följande kommando för att se vilka alias som finns i PFX-filen:
"c:\Program Files\Java\jdk1.8.0_181\bin\keytool.exe" -list -keystore c:\tomcat\certificates\www.mydomain.dk.pfx

- Importera PFX-filen till den nya keystore-filen med följande kommando:
- srckeystore: Sökvägen till PFX-filen.
- srcalias: Det alias du hittade i punkt 2.
- srcstorepass: Lösenordet till PFX-filen. Om du har använt vår CSR-tjänst skickas lösenordet via SMS.
- destkeystore: Sökvägen till keystore-filen.
- destalias: Det alias du vill ha i din keystore.
- deststorepass: Det lösenord du vill ha för din keystore.
- destkeypass: Samma lösenord som deststorepass.
"c:\Program Files\Java\jdk1.8.0_181\bin\keytool.exe" -importkeystore -srckeystore c:\tomcat\certificates\www.mydomain.dk.pfx -srcalias fairssl-2018 -srcstoretype PKCS12 -srcstorepass myPassword -destkeystore c:\tomcat\certificates\keystore -deststoretype JKS -destalias www.mydomain.dk -deststorepass keystorePassword -destkeypass keystorePassword

- Starta om Tomcat-tjänsten.
Konfiguration av server.xml
- Öppna filen server.xml med en textredigerare, till exempel:
notepad c:\tomcat\conf\server.xml
- Lägg in följande och anpassa värdena efter din server:
- hostName: DNS-namnet för din webbplats.
- certificateKeystoreFile: Sökvägen till din keystore.
- keystorePass: Lösenordet du valde när du skapade keystore-filen.
hostName="www.mydomain.dk"
maxThreads="200"
scheme="https"
secure="true"
SSLEnabled="true"
Protocols="TLSv1,TLSv1.1,TLSv1.2"
clientAuth="false">
keystorePass="MyPassWord"
keyAlias="www.mydomain.dk"
type="RSA" />

- Starta om Tomcat-tjänsten.
Mellanliggande certifikat
Här hittar du mellanliggande certifikat från de olika certifikatutfärdarna.
Vi rekommenderar att du använder det certifikat som skickades med din beställning. Ladda bara ner det härifrån om du har tappat bort det, eftersom det medskickade certifikatet alltid är rätt för just ditt servercertifikat.
Förbättra din TLS-säkerhet
Använd Mozilla SSL Configuration Generator för att generera en säker TLS-konfiguration med moderna chiffersviter och protokollinställningar.
Guide till Mozilla SSL Configuration Generator