För att skapa ett "self signed" ssl-certifikat kan man göra på följande sätt (för tomcat webserver):
1. Skapa ett keystore med hjälp av keytool genom att köra följande kommando
keytool -genkey -alias tomcat -keyalg RSA
Ange keystore-lösenord: password
Vad heter du i för- och efternamn? [Unknown]: localhost
Vad heter din avdelning inom organisationen? [Unknown]: Support
Vad heter din organisation? [Unknown]: Testing AB
Vad heter din ort eller plats? [Unknown]: Gothenburg
Vad heter ditt land eller din provins? [Unknown]: Vastra Gotaland
Vilken är den tvåställiga landskoden? [Unknown]: SE
Är CN=localhost, OU=Support, O=Testing AB, L=Gothenburg, ST=Vastra Gotaland, C=SE korrekt? [nej]: j
Ange nyckellösenord för
Viktigt är att ange adressen (localhost eller yourdomain.com) certifikatet ska gälla för när keytool frågar efter för- och efternamn samt att ange samma lösenord för nyckeln som för själva keystore
2. Om man vill godkänna certifikatet på en maskin måste cerifikatet installeras. Exportera först servercertifikatet i keystore till filen server.cer genom att köra kommandot:
keytool -export -alias tomcat -keystore yourkeystorefile -storepass xxx -file server.cer
sen installerar man certifikatet i Trusted Root Certification Authorities i Windows genom att dubbelklicka på server.cer och välja "Trusted Certification..."
3. Om man vill använda certifikatet i en Javaapplikation måste certifikatet importeras i filen cacerts (JAVA_HOME\jre\lib\security) genom att köra kommandot:
keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias tomcat -file server.cer
eller genom att köra java programmet InstallCert och sen byta namn på resultatfilen jssecacerts till cacerts och ersätta den befintliga filen cacerts i JAVA_HOME\jre\lib\security\ (Observera att en webbserver måste vara igång och lyssna på port 443):
java InstallCert localhost

1 kommentar:
Riktigt bra information! Tack för den :)
Skicka en kommentar