Hallo,
Ich habe heute versucht mit Hilfe des Scripts dieser Seite auf einem Exchange 2016 Let’s Encrypt Zertifikat zu installieren.
Leider scheitert die Ausführung des Scipts mit der Fehlermeldung, dass ACMEV1 nicht mehr unterstützt wird.
Habt Ihr eine Idee wie es auch mit V2 laufen kann?
Danke und Gruß
Stefan
Hallo Stefan,
ACME steht für "automatic certificate managment environment". Du brauchst lediglich davon ein anderes tool was die v2 unterstützt. Da gibt es mehrere auf dem Markt.
Ich habe 1min gegooglt und diese Anleitung gefunden:
https://www.windowspro.de/roland-eich/zertifikat-fuer-iis-exchange-lets-encrypt-ausstellen
Als Beispiel natürlich, es geht zig Varianten und Möglichkeiten dies zu Skripten oder automatisieren (:
Gruß,
Steffen
Never walk alone to the Cloud - Take the cloud journey and start the digital transformation
da ich dies aber nicht kann war ich sehr froh das Skript hier zu finden das alles automatisch erledigt hat.
Hallo Stefan,
das war auch überhaupt nicht negativ gemeint, nur leider unterstützt das PS-Modul keine v2.
Du müsstest das Skript umbauen sodass es mit "Posh-ACME oder ACME-PS" läuft. Diese beide PS-Module unterstützen v2.
Den Link hatte ich eingefügt, da du alles via Copy&Paste entnehmen hättest können, und diente nur als Beispiel.
Eventuell schreibt ja jemand wenn er die Zeit und Muße hat das Skript um (: .
Gruß,
Steffen
Never walk alone to the Cloud - Take the cloud journey and start the digital transformation
Hi,
danke für die Infos, ich habe die Hoffnung das jemand das Script anpassen kann, vielleicht meldet sich ja noch jemand.
Gruss
Stefan
Hi,
ich plane das Script in der nächsten Zeit entsprechend anzupassen. Brauche aber noch etwas Zeit.
Gruß,
Frank
Hallo in die Runde,
ich habe gerade mal einen kurzen Blick auf das neue ACME PowerShell Modul geworfen. Leider funktioniert mit dem neuen Modul welches ACMEv2 unterstützt einiges etwas anders. Ich muss daher das komplette Script überarbeiten. Dafür werde ich etwas länger brauchen.
Gruß,
Frank
Könntest du danach bei Gelegenheit unter "Scripte" den Eintrag "Exchange Certificate Assistant Script zum Automatischen Erstellen von Exchange Zertifikaten" aktualisieren. Es zeigt auf eine veraltete Version von 2014 ( https://www.frankysweb.de/exchange-2013-assistent-fuer-zertifikate/).
Vielen Dank und Grüsse
Eric
Hallo Frank,
Mir ist das auch schon vor einige Zeit aufgefallen das Lets Encrypt den den Support von ACMEv1 langsam abdreht und mit Ende dieses Monat neue Registrationen von ACMEv1 nicht mehr möglich sind.
End Of Life ACMEv1: https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430
Lets Enctypt ACME Server Status: https://letsencrypt.status.io/
Da ich deinen Script immer Sehr gerne benutz habe und mich selber zuwenig auskenne um diesen umzubauen, will ich mich recht herzlich bedanken für den alten Script und jetzt auch für den bau des neuen.
Wünsche dir noch viel erfolg dabei, hoffentlich wird es nicht zu "tricky" :)
LG Max
Hallo Max,
ich hatte es auch schon irgendwo gelesen gehabt, bin dann nur leider wieder vergessen das Script rechtzeitig anzupassen. Ich fange so bald wie möglich damit an.
Gruß,
Frank
nur nochmal zur Info. Ich habe heute das Skript aus März 2018 mit Powershell-Version 5.1 auf einem Server 2012 und einem Exchange 2016 problemlos ausführen können. Wurde hier schon etwas überarbeitet? Wundere mich nämlich grade, dass es bei anderen abbricht wegen der nicht mehr unterstützen Acme v1 Version, während es bei mir problemlos durchlief.
Hat sich erledigt. Habe grade bei Lets Encrypt gelesen, dass man sich statt bis zum geplanten 1. November wohl doch noch bis 8. November über ACME v1 registrieren kann.
Scheint solange zu funktionieren, bis du den ACME-Ordner löscht. Habe den gelöscht und das alte Script erstellt den neu. Ab da funktioniert es nicht mehr. ACME-Ordner aus dem Papierkorb wieder hergestellt und das Script läuft wieder. Gilt also anscheinen nur für neue Registrierungen.
Hallo,
gibt es schon etwas neues bezüglich des Updates? Für neue Benutzer gibt es sonst scheinbar keine Lösung.
Vielen Dank,
darthmarx
Hallo,
hier mal ein kleines Statusupdate meinerseits: Das neue Script hat heute zum ersten Mal ein Zertifikat erfolgreich via ACMEv2 angefordert. Es gibt aber noch einige Fehler im Script die ich noch ausbügeln muss, daher dauert es noch etwas bis zum Release.
Meldet sich jemand freiwillig zum testen? Am besten wäre zunächst ein Exchange 2016 Server der natürlich nicht produktiv läuft.
Gruß,
Frank
Hi Axel,
ich hab die neue Version mal für Exchange 2016 angehangen. Das Script erfordert nun mindestens die PowerShell Version 5. Könntest du mir bitte das Log nach dem Test schicken?
Gruß,
Frank
Hallo Frank,
ich hab das neue Skript mal in meiner Testumgebung (Server 2016 + Exchange 2016 CU14) probiert.
Leider erhalte ich den Fehler " LE System - ERROR - Order is NOT ready"
Anbei das LOG:
TimeStamp;ScriptSection;Type;Message;ErrorDetails
25.11.2019 23:03:41;System;Info;Geting system parameters;
25.11.2019 23:03:41;System;Info;Certificate Assistant Exchange 2016 Version;
25.11.2019 23:03:41;System;Info;PowerShell Version: 5.1.14393.3053 OSVersion: 10.0.14393.0;
25.11.2019 23:03:41;Check Posh-ACME;Info;Check if Module installed;
25.11.2019 23:03:41;Load Posh-ACME;Info;Posh-ACME is installed, try to load it;
25.11.2019 23:03:41;Load Posh-ACME;Info;Module Import was successfull, PoshACMEVersion 3.11.0;
25.11.2019 23:03:41;Load Exchange SnapIns;Info;Try to load Exchange SnapIns;
25.11.2019 23:03:41;Load Exchange SnapIns;Info;Sucessfully loaded Exchange SnapIns;
25.11.2019 23:03:41;IIS;Info;Trying to create .Well-Known Directory;
25.11.2019 23:03:41;IIS;Info;Well-Known Folder already exists, skipping;
25.11.2019 23:03:41;IIS;Info;Eroor Creating and enabling Well-Known Folder: Dateiname:
Fehler: Doppelter Auflistungseintrag vom Typ "mimeMap" mit auf "." festgelegtem eindeutigen Schlüsselattribut "fileExtension" kann nicht hinzugefügt werden.
;
25.11.2019 23:03:41;IIS;Info;Changing Let's Encrypt IIS directory to http;
25.11.2019 23:03:41;IIS;Info;Successfully changed Let's Encrypt IIS directory to http;
25.11.2019 23:03:41;IIS;Info;Checking Let's Encrypt IIS directory to accept validation by http request;
25.11.2019 23:03:41;IIS;Info;.well-known directory accepts http;
25.11.2019 23:03:41;Exchange FQDNs;Info;Getting Exchange FQDNs;
25.11.2019 23:03:41;Exchange FQDNs;Info;Getting local Exchange Server Name;
25.11.2019 23:03:42;Exchange FQDNs;Info;Local Exchange Name EXCHANGE16;
25.11.2019 23:03:42;Exchange FQDNs;Info;Getting Autodiscover Hostname;
25.11.2019 23:03:42;Exchange FQDNs;Info;Autodiscover Hostname autodiscover.wagner-web.net;
25.11.2019 23:03:42;Exchange FQDNs;Info;Getting Exchange Outlook Anywhere External FQDN;
25.11.2019 23:03:42;Exchange FQDNs;Info;Exchange Outlook Anywhere External FQDN server.wagner-web.net;
25.11.2019 23:03:42;Exchange FQDNs;Info;Getting Exchange Outlook Anywhere Internal FQDN;
25.11.2019 23:03:42;Exchange FQDNs;Info;Exchange Outlook Anywhere Internal FQDN server.wagner-web.net;
25.11.2019 23:03:42;Exchange FQDNs;Info;Getting Exchange OAB External FQDN;
25.11.2019 23:03:43;Exchange FQDNs;Info;Exchange OAB External FQDN server.wagner-web.net;
25.11.2019 23:03:43;Exchange FQDNs;Info;Getting Exchange OAB Internal FQDN;
25.11.2019 23:03:44;Exchange FQDNs;Info;Exchange OAB Internal FQDN server.wagner-web.net;
25.11.2019 23:03:44;Exchange FQDNs;Info;Getting Exchange EAS Internal FQDN;
25.11.2019 23:03:44;Exchange FQDNs;Info;Exchange EAS Internal FQDN server.wagner-web.net;
25.11.2019 23:03:44;Exchange FQDNs;Info;Getting Exchange EAS External FQDN;
25.11.2019 23:03:45;Exchange FQDNs;Info;Exchange EAS External FQDN server.wagner-web.net;
25.11.2019 23:03:45;Exchange FQDNs;Info;Getting Exchange EWS Internal FQDN;
25.11.2019 23:03:46;Exchange FQDNs;Info;Exchange EWS Internal FQDN server.wagner-web.net;
25.11.2019 23:03:46;Exchange FQDNs;Info;Getting Exchange EWS External FQDN;
25.11.2019 23:03:47;Exchange FQDNs;Info;Exchange EWS External FQDN server.wagner-web.net;
25.11.2019 23:03:47;Exchange FQDNs;Info;Getting Exchange ECP Internal FQDN;
25.11.2019 23:03:48;Exchange FQDNs;Info;Exchange EWS Internal FQDN server.wagner-web.net;
25.11.2019 23:03:48;Exchange FQDNs;Info;Getting Exchange ECP External FQDN;
25.11.2019 23:03:48;Exchange FQDNs;Info;Exchange ECP External FQDN server.wagner-web.net;
25.11.2019 23:03:48;Exchange FQDNs;Info;Getting Exchange OWA Internal FQDN;
25.11.2019 23:03:49;Exchange FQDNs;Info;Exchange OWA Internal FQDN server.wagner-web.net;
25.11.2019 23:03:49;Exchange FQDNs;Info;Getting Exchange OWA External FQDN;
25.11.2019 23:03:50;Exchange FQDNs;Info;Exchange OWA ExternalFQDN server.wagner-web.net;
25.11.2019 23:03:50;Exchange FQDNs;Info;Getting Exchange MAPI Internal FQDN;
25.11.2019 23:03:50;Exchange FQDNs;Info;Exchange MAPI Internal FQDN server.wagner-web.net;
25.11.2019 23:03:50;Exchange FQDNs;Info;Getting Exchange MAPI External FQDN;
25.11.2019 23:03:51;Exchange FQDNs;Info;Exchange MAPI External FQDN server.wagner-web.net;
25.11.2019 23:03:51;Exchange FQDNs;Info;Make them unique;
25.11.2019 23:03:51;Exchange FQDNs;Info;FQDNs are unique;
25.11.2019 23:03:51;LE System;Info;Setting LE Mode;
25.11.2019 23:03:51;LE System;Info;Setting LE Mode to STAGE MODE (TESTING ONLY);
25.11.2019 23:03:51;LE System;Info;Checking for existing LE Account;
25.11.2019 23:03:51;LE System;Info;Found a existing LE Account;
25.11.2019 23:03:51;LE Certificate;Info;Trying to create a new order for a certificate;
25.11.2019 23:03:52;LE Certificate;Info;Successfully ordered certificate;
25.11.2019 23:03:52;LE System;Info;Creating Autorisation files for LE verification;
25.11.2019 23:03:53;LE System;Info;Asking LE to verify the order;
25.11.2019 23:03:53;LE System;Info;Successfully informed LE to verify the order;
25.11.2019 23:03:53;LE System;INFO;Let's give LE some time to validate;2 min
25.11.2019 23:05:53;LE System;INFO;Time to wake up, need coffee!;
25.11.2019 23:05:53;LE System;INFO;Let's check the authorization;
25.11.2019 23:05:54;LE System;INFO;Authorization for autodiscover.wagner-web.net is valid;
25.11.2019 23:05:54;LE System;INFO;Authorization for server.wagner-web.net is valid;
25.11.2019 23:05:54;LE System;INFO;Let's refresh the order;
25.11.2019 23:05:54;LE System;INFO;Let's check if order is ready;
25.11.2019 23:05:54;LE System;ERROR;Order is NOT ready;
Hallo, ich hab das Script mal getestet und das ganze funktioniert. Es sind ein paar Kleinigkeiten, die auffallen:
1) Die Installation "Install-Module -Name Posh-ACME" hab ich einfach mal händisch vor die Ausführung des Scripts gesetzt. Es kamen einfach die roten Fehlermeldungen der PS. Da ist es dann unklar, ob das Module korrekt läuft. Weiters kommt ein Nuget-Anbieter, der davor installiert werden muss. Es gibt auch Warnungen bezüglich der Vertrauenswürdigkeit des Repositorys, wobei man das sicher auch händisch vertrauenswürdig machen kann oder sollte.
PS > Install-Module -Name Posh-ACME
Der NuGet-Anbieter ist erforderlich, um den Vorgang fortzusetzen.
PowerShellGet erfordert die NuGet-Anbieterversion 2.8.5.201 oder höher für die Interaktion mit NuGet-basierten
Repositorys. Der NuGet-Anbieter muss in "C:\Program Files\PackageManagement\ProviderAssemblies" oder
"C:\Users\Administrator\AppData\Local\PackageManagement\ProviderAssemblies" verfügbar sein. Sie können den
NuGet-Anbieter auch durch Ausführen von 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'
installieren. Möchten Sie den NuGet-Anbieter jetzt durch PowerShellGet installieren und importieren lassen?
[J] Ja [N] Nein [H] Anhalten [?] Hilfe (Standard ist "J"): J
Nicht vertrauenswürdiges Repository
Sie installieren die Module aus einem nicht vertrauenswürdigen Repository. Wenn Sie diesem Repository vertrauen, ändern
Sie dessen InstallationPolicy-Wert, indem Sie das Set-PSRepository-Cmdlet ausführen. Möchten Sie die Module von
'PSGallery' wirklich installieren?
2) Es gibt eine .NET Versions Warnung.
WARNUNG: *******************************************************************
WARNUNG: Insufficient .NET version. Found .NET 4.6.2 (build 394802).
WARNUNG: .NET 4.7.1 or later is required to ensure proper functionality.
WARNUNG: *******************************************************************
Es ist nicht klar ob das Script das nun fordert oder nicht. Warnung alleine ist zwar gut - ich hab die Ausführung schnell unterbrochen und das .NET nachinstalliert.
Eventuell einfach eine Fehlermeldung werfen und abbrechen.
3) Bei mehrfacher Ausführung des Scripts kommt diese Fehlermeldung:
26.11.2019 08:15:01;IIS;Info;Trying to create .Well-Known Directory;
26.11.2019 08:15:01;IIS;Info;Well-Known Folder already exists, skipping;
26.11.2019 08:15:01;IIS;Info;Eroor Creating and enabling Well-Known Folder: Dateiname:
Fehler: Doppelter Auflistungseintrag vom Typ "mimeMap" mit auf "." festgelegtem eindeutigen Schlüsselattribut "fileExtension" kann nicht hinzugefügt werden.
Wenn das Script automatisch abbricht ( z.B. " Order not ready" ) dann sollte das Script sicherstellen, dass alle Änderungen wieder rückgängig gemacht werden und das Exchange System korrekt arbeitet.
4) Wenn das Script mit "Order not ready" abbricht, ist es mal unklar warum. Bei mir war die Firewall auf Port 80 nicht offen. Da könnte man einen Hinweis darauf an dieser Stelle auswerfen oder schon vorher - wenn möglich - einen automatischen Test machen, also ob Port 443 und 80 offen sind und das durchgängig funktioniert. So überlässt man den Test dem Lets Encrypt System, was vielleicht nicht so gut ist.
5) Ansonsten vielen vielen Dank für die Anpassung und Zurverfügungstellung!
Grüße aus Wien