Gegebenenfalls muss Apache angepasst werden
Lets Encrypt Win Simple installieren, oder sofern ein IIS vorhanden, CertifyTheWeb (siehe Nachtrag!):
https://github.com/Lone-Coder/letsencrypt-win-simple
letsencrypt.exe via CMD starten
E-mail angeben und akzeptieren
Neues zertifikat: N
Manuel die Hostnamen eingeben: 4Hostnamen eingeben (kommagetrennt): mail.contoso.com, xy.contoso.com
Webroot ist bei Apache:
C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps
Sollte alles korrekt sein, wird nun das zertifikat, die Pfade etc erstellt.
Wichtig hierbei:
Authorization result: valid
Authorization result: valid
Für das erneuern wird eine Windows Aufgabe erstellt, ich würde keinen Benutzer angeben, also: N
Neustarten wollen wir nicht, sofern alles geklappt hat, also: N
CygWin installieren (https://cygwin.com/install.html) (Einfach weiter, OpenSSL ist standardmässig dabei)
oder alternativ eine Binarie:
https://wiki.openssl.org/index.php/Binaries
In Notepad++ (https://notepad-plus-plus.org/) ein neues Shellscript erstellen:
#!/bin/bash
cd "C:\ProgramData\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org"
openssl pkcs12 -export -in domainname-crt.pem -inkey domainname-key.pem -out cert_and_key.p12 -password pass:PASSWORT
Wichtig: bearbeiten -> format zeilenende -> unix
Das File als LE_TO_PKCS12.sh speichern in: C:\cygwin64\home\Administrator
In C:\cygwin64 ein neues .bat File erstellen: LETSENCRYPT_TO_TOMCAT.bat
C:\cygwin64\bin\bash --login -c "./LE_TO_PKCS12.sh"
ping localhost
"C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin\tomcat8.exe" stop
"C:\Program Files\Apache Software Foundation\Tomcat 8.0\bin\tomcat8.exe" start
Tomcat "servers.xml" anpassen: webroot\conf\servers.xml
keystoreFile="C:\ProgramData\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\cert_and_key.p12"
keystoreType="PKCS12"
keystorePass="PASSWORT"
Das Batchfile "LETSENCRYPT_TO_TOMCAT.bat" in der Aufgabenplanung für eine Monatliche ausführung planen.
Testweise die Aufgabe gleich einmal ausführen
NACHTRAG:
Bei CertifyTheWeb, würde das .sh script wie folgt aussehen:
#!/bin/bash
cd "C:\ProgramData\ACMESharp\sysVault\99-ASSET"
openssl pkcs12 -in cert_ident1652b3d9-all.pfx -clcerts -nokeys -out domain.cer -password pass:
openssl pkcs12 -in cert_ident1652b3d9-all.pfx -nocerts -nodes -out domain.key -password pass:
openssl pkcs12 -in cert_ident1652b3d9-all.pfx -out domain-ca.crt -nodes -nokeys -cacerts -password pass:
openssl pkcs12 -in cert_ident1652b3d9-all.pfx -out domain.pem -nokeys -clcerts -password pass:
openssl pkcs12 -export -in domain.pem -inkey domain.key -out cert_and_key.p12 -password pass:PASSWORT
Der KeystoreFile-Pfad wäre dann auch entsprechend:
C:\ProgramData\ACMESharp\sysVault\99-ASSET\cert_and_key.p12
Keine Kommentare:
Kommentar veröffentlichen