Letzten Montag hatte ich eine überarbeitete Version des Exchange Certificate Assistant veröffentlicht. Die letzte Version unterstützte bisher nur Exchange 2016 auf Windows Server 2016. Mit der jetzigen Version wird nun auch Windows Server 2012 R2 und Exchange 2013 unterstützt. Neu ist auch die Möglichkeit die Benachrichtigungsmails mit Authentifizierung am SMTP Server zu verschicken. Außerdem wurden ein paar kleinere Probleme behoben und das Logging verbessert.
Im Archiv finden sich nun 2 Ordner- Der Ordner Exchange 2013 enthält logischerweise das Script für Exchange 2013, der Ordner Exchange 2016 entsprechend das Script für Exchange 2016:
Wie gehabt müssen innerhalb des Scripts die ersten paar Zeilen angepasst werden:
Der Task zum Erneuern des Zertifikats muss nach wie vor manuell angelegt werden. Ich denke, dass werde ich auch so beibehalten. Ich finde es schöner, wenn man selbst bestimmen kann, wann das Zertifikat ausgetauscht wird. Im oben verlinkten Artikel ist beschrieben, wie der Task zum Erneuern angelegt werden kann. Der nächsten Version werde ich eine kleine Anleitung beilegen.
Es fehlt jetzt also noch die Unterstützung für Exchange 2010 und Server 2008 R2. Ich installiere jetzt erst einmal eine neue Testumgebung für Exchange 2010.
Hier noch der Link für den Download der aktuellen Version:
Exchange Certificate Assistant
Wenn es Probleme mit dem Script gibt, könnt ihr gerne das Logfile zuschicken. Nur so kann ich das Script verbessern und Fehler beheben.
Hallo,
folgendes Problem: Skript läuft problemlos durch, bis zum Schluß.
Dann kommt aber:
13.08.2020 12:08:05;LE System;ERROR;Getting certificate was not successfull;Der Typ [Org.BouncyCastle.Security.SecureRandom] kann nicht gefunden werden. Stellen Sie sicher, dass die Assembly, die diesen Typ enthält, geladen wird.
Habe ich etwas vergessen?
Danke schon mal!!!
Grüße
Giuseppe
Nachtrag:
Ich habe selbstverständlich schon danach gegoogelt, der Fehler kommt wohl, wenn .NET 4.7.1 noch nicht drauf ist.
Aktuell ist aber die Version 4.8 installiert.
Hat sich erledigt:
https://www.frankysweb.de/community/exchangezertifikate/certificateassistantv3-exchange-2016-auf-server-2012-r2/
Danke Frank!!!!!
Hilfe im April lief noch alles und nun gibt es diesen Fehler:
Certificate;ERROR;Can’t order certificate: Ungültiger JSON-Primitiv: 449″
Finde nichts über Google .
Hallo,
habe Exchange 2013 auf 2012R2 und bekomme gleich mal folgendes:
CertificateAssistant_v3_EX2013.ps1 : The script ‚CertificateAssistant_v3_EX2013.ps1‘ cannot be run because it
contained a „#requires“ statement for Windows PowerShell 5.0. The version of Windows PowerShell that is required by
the script does not match the currently running version of Windows PowerShell 4.0.
Zur Zeit geht leider nichts, lief mal, jetzt sind die Zertifikate wieder als Fake und ungültig im System, liegt der Fehler bei Letsencrypt ???
Ich habe vor 5 Tagen erneuert, alles lief ohne Probleme ab.
Ich vermute mal („Zertifikate …als Fake“) dass das Skript gegen LE_STAGE und nicht gegen LE_PROD lief?
Hallo, ich habe einen Exchange2016 auf nen 2012R2 laufen, welches Script soll ich da verwenden?
Beim 2016 Script kommt der Fehler, dass die PS5.0 erforderlich ist, was aber laut M$ nicht empfohlen wird zu installieren.
Danke für Rückmeldungen.
Danke, habe es nach vielen Test erfolgreich hinbekommen. Danke für Euer tolles Script!!
Hallo Frank,
danke für deine Arbeit.
Leider setzt das Script im IIS die Option „Requiere SSL“ auf die Default Site true so dass ein Aufruf von OWA ohne https:// in ein 403 läuft und die automatische Umleitung auf https:// nicht mehr klappt.
Halo Zusammen,
ich versuche mich gerade an einem Exchange 2013 CU23. Ich habe das WMF 5.1 drauf sowie das aktuelle acmeposh.
Beim Ausführen hängt er bei folgenden Fehlern:
13.01.2020 15:05:43 – LE System – Info – Creating Autorisation files for LE verification
Get-PAAuthorizations : Das Argument kann nicht an den Parameter „AuthURLs“ gebunden werden, da es NULL ist.
In C:\Skript\LetsEncrypt\Exchange 2013\CertificateAssistant_v3_EX2013.ps1:503 Zeichen:21
+ $auths = $LEOrder | Get-PAAuthorizations
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Get-PAAuthorizations], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Get-PAAuthorizations
13.01.2020 15:05:43 – LE System – Info – Asking LE to verify the order
Send-ChallengeAck : Das Argument kann nicht an den Parameter „ChallengeUrl“ gebunden werden, da es sich um eine leere Zeichenfolge handelt.
In C:\Skript\LetsEncrypt\Exchange 2013\CertificateAssistant_v3_EX2013.ps1:519 Zeichen:21
+ $auths.HTTP01Url | Send-ChallengeAck
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Send-ChallengeAck], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Send-ChallengeAck
13.01.2020 15:05:44 – LE System – Info – Successfully informed LE to verify the order
13.01.2020 15:05:44 – LE System – INFO – Let’s give LE some time to validate (1 min)
13.01.2020 15:06:44 – LE System – INFO – Time to wake up, need coffee!
13.01.2020 15:06:44 – LE System – INFO – Let’s check the authorization
Get-PAAuthorizations : Das Argument kann nicht an den Parameter „AuthURLs“ gebunden werden, da es NULL ist.
In C:\Skript\LetsEncrypt\Exchange 2013\CertificateAssistant_v3_EX2013.ps1:542 Zeichen:27
+ $authstates = $LEOrder | Get-PAAuthorization
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Get-PAAuthorizations], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Get-PAAuthorizations
13.01.2020 15:06:44 – LE System – INFO – Let’s refresh the order
13.01.2020 15:06:44 – LE System – INFO – Let’s check if order is ready
13.01.2020 15:06:44 – LE System – ERROR – Order is NOT ready
Evtl. weiß hier jemand weiter?
Hab meinen Fehler gefunden. Ich hatte in meiner Url ein @ statt einen Punkt. Das führte zu einer fehlerhaft gespeicherten Variable, die über 3 Funktionen mitgeschleift wurde.
Hallo Zusammen
Ich bekomme bei meiner Testumgebung folgende Meldung
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Account creation on ACMEv1 is disabled. Please upgrade your ACME client to a version that supports ACMEv2 / RFC 8555. See https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430 for details.“,
„status“: 403
}
Gibt es bereits eine Lösung um ACMEv2 zu aktivieren?
Vielen Dank,
Stefan
Hallo zusammen,
bei mir ist auch der Fehler 403 aufgetreten, Lösung für meinen Fall anbei,
vielleicht hilft es ja jemandem der ebenfalls auf das Problem hat.
Umgebung ist Server 2012R2 und Exchange 2016.
Fehlermeldung anbei:
03.10.2019 09:02:35;Certificate;Error;Failed to submit the certificate for signing;Unexpected error
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: autodiscover.mydomain.de, autodiscover.mydomain.com,
„status“: 403
}
Geprüft habe ich im Vorfeld:
– DNS Erreichbarkeit Intern / Extern (Split-Brain DNS Konfiguration)
– EFS Zertifikat neu erstellt
Ursache war in meine Fall eine nicht funktionierende DNAT Regel in der Sophos UTM:
Any → HTTP → WAN01 iE Unitymedia (Address)
Destination translation: MeinMailServer
Obwohl eine Regel den Port 80 eigentlich für die Lets Encrypt Validierung weiterleiten
sollte wurden die Pakete geblockt, sichtbar ist das am besten im Livelog.
(Für alle die auf der UTM nicht so fit sind). Beispiel aus dem Log:
2019:10:03-09:33:17 cloud ulogd[4768]: id=“2001″ severity=“info“ sys=“SecureNet“ sub=“packetfilter“ name=“Packet dropped“ action=“drop“ fwrule=“60001″ initf=“eth1″ srcmac=“44:4e:6d:86:61:37″ dstmac=“00:15:5d:2a:65:0f“ srcip=“quell.ip.adresse“ dstip=“meine.ext.ip.addresse“ proto=“6″ length=“44″ tos=“0x00″ prec=“0x00″ ttl=“240″ srcport=“47395″ dstport=“80″ tcpflags=“SYN“
Ein Neustart der UTM hat den Fehler nicht behoben, was allerdings geholfen hat war
ein LÖSCHEN und anschließendes neu erstellen der DNAT-Regel. Dieses Verhalten
ist mir bei der UTM schon einige Mal aufgefallen.
Grüße Matthias
Hi Frank,
wir nutzen das Script öfters mal, funktioniert super.
Bei einem alten Exchange 2010 erhalte ich über den geplanten Task immer einen Fehler.
24.04.2019 02:00:41;Certificate;Error;Failed to submit the certificate for signing;Unexpected error
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: autodiscover.domain.tld“,
„status“: 403
}
Starte ich den Task manuell über den Button „Ausführen“ läuft es.
2x war die Verlängerung und jeweils hat es über die Zeitplaung des Tasks nicht funktioniert, sowohl aber einige Tage später mit dem Ausführen Button.
Gruß Andre
Hi Frank,
danke für das Script, hat wunderbar funktioniert.
Ist es auch möglich weitere Domains nachträglich hinzuzufügen? Bekomme die Fehlermeldung, nachdem ich die weitere Domain unter $CustomFQDNs eingetragen habe:
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: „server3.domain.tld“
„status“: 403
Hallo zusammen,
auch mich hat aus heiterem Himmel das hier schon öfters beschriebene „Certificate creation error“ erwischt.
(Windows 2012R2 in Verbindung mit Exchange 2013)
—–
15.01.2019 23:00:52;ACME Identifier;Error;Failed to create ACME Identifier for Cert Alias Cert150120192300-6 DNSName webaccess.+++++.de;
15.01.2019 23:00:52;ACME Identifier;Info;Updating ACME Identifiers;
15.01.2019 23:00:52;IIS;Info;Changing Let’s Encrypt IIS directory to http;
15.01.2019 23:00:53;IIS;Info;Successfully changed Let’s Encrypt IIS directory to http;
15.01.2019 23:00:53;IIS;Info;Checking Let’s Encrypt IIS directory to accept validation by http request;
15.01.2019 23:00:53;IIS;Info;.well-known directory accepts http;
15.01.2019 23:00:53;LE Challange;Info;Try to submit challenge;
15.01.2019 23:00:53;LE Challange;Info;Try to submit challenge;
15.01.2019 23:00:53;Certificate;Info;Try to create the certificate;
15.01.2019 23:00:53;Certificate;Warning;Using autodiscover.++++++.de as certificates CN;
15.01.2019 23:00:53;Certificate;Error;Failed to create the certificate SAN150120192300;Unable to find an Identifier for the given reference
——
Eine Änderung am Emailserver zwischen Dezember und Januar konnte ausgeschossen werden, das letzte Zertifikat wurde am 15.11. erneuert und das ohne Probleme. Viele google Hilfen führen in die falsche Richtung, da ist die Rede von aus versehen gelöschten alten abgelaufenen Zertifikaten die Rede, von gelöschten sysvault Verzeichnissen, etc. Das ist alles falsch. Der Hintergrund bei mir war im Endeffekt simple:
Wir haben TLS 1.0, TLS 1.1 deaktiviert und arbeiten nur noch mit TLS 1.2. ACMESharp versucht aber weiterhin über Microsoft .NET eine TLS 1.0 Verbindung zu Let´sEncrypt aufzubauen. Das muss man in der Registry unterbinden.
Hierzu die beiden Schlüssel neu erstellen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
„SchUseStrongCrypto“=dword:00000001
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319
„SchUseStrongCrypto“=dword:00000001
anschließend Email Server neu booten und siehe da, es geht alles wieder, wie gewohnt.
Hat mich einen halben Tag Zeit gekostet das zu finden, vielleicht hilft es dem einen oder anderen schneller…
Hallo,
leider erhalte ich diesen Fehler auf einem Server 2016 mit Exchange 2016.
Gibt es hierzu eine Lösung?
Hi,
Kann man ein entfernen der alten Zertifikate mit einbauen?
damit man nicht andauernd die alten Zertifikate manuell entfernen muss die ja nicht mehr in Betrieb sind.
Hallo Thomas,
dies ist für die nächste Version geplant.
Gruß,
Frank
Hallo Frank,
planst du eine Version für Exchange 2019?
MfG Alex
Hallo Alex,
ja, wird es geben. Die Exchange 2016 Version ist nach derzeitigem Stand aber auch Exchange 2019 kompatibel.
Gruß, Frank
Hi Frank!
Do you plan to translate this project (both for 2013 and 2016) to English?
Hi Luka,
currently there are no plans to translate the script to english. There are only a few german words, maybe you can do it by yourself using google translator.
Kinds regards,
Frank
Hallo Franky,
ich habe einen Exchange 2013 und komme einfach nicht weiter. Ich habe alle externe URL im exs der öffentliche Domäne konfiguriert, der Autodiscover steht noch auf der internen Adresse. Das Skript läuft ohne Fehler durch, nur am Ende sagt er dass das Zertifikat nicht erstellt werden kann. Gibt es noch etwas was ich übersehen habe ?
….
08.11.2018 08:58:18 – Exchange FQDNs – Info – Make them unique
08.11.2018 08:58:18 – Exchange FQDNs – Warning – Unroutable Domains were found, sorted out
08.11.2018 08:58:18 – Exchange FQDNs – Info – FQDNs are unique
08.11.2018 08:58:18 – Check Vault – Info – Lets check if exists a vault
08.11.2018 08:58:18 – Check Vault – Info – Vault found
08.11.2018 08:58:18 – Check Registration – Info – Lets check if exists a LE registration
08.11.2018 08:58:18 – Check Registration – Info – Found registration
08.11.2018 08:58:19 – ACME Identifier – Info – Successfully updated ACME Identifier for Cert Alias Cert081120180858-1
08.11.2018 08:58:20 – ACME Challange – Info – Completed ACME Challenge for Alias Cert081120180858-1
08.11.2018 08:58:20 – IIS – Info – Changing Let’s Encrypt IIS directory to http
08.11.2018 08:58:21 – IIS – Info – Successfully changed Let’s Encrypt IIS directory to http
08.11.2018 08:58:21 – IIS – Info – Checking Let’s Encrypt IIS directory to accept validation by http request
08.11.2018 08:58:21 – IIS – Info – .well-known directory accepts http
08.11.2018 08:58:21 – LE Challange – Info – Try to submit challenge
08.11.2018 08:58:22 – LE Challange – Info – Submitted challenge for Alias Cert081120180858-1
08.11.2018 08:58:22 – LE Challange – Info – Try to submit challenge
08.11.2018 08:58:22 – LE Challange – Info – Updated Identifier for Alias Cert081120180858-1
08.11.2018 08:58:22 – Certificate – Info – Try to create the certificate
08.11.2018 08:58:22 – Certificate – Warning – Using XXXXXXXXX.de as certificates CN
08.11.2018 08:58:22 – Certificate – Error – Failed to create the certificate SAN081120180858
habe das gleiche Problem mit „Unroutable Domains were found“.
Was konnte das Problem lösen? DNS und Routing sollte passen.
Bin für jeden Tipp dankbar!
Die internen Outlook-Clients bekommen eine Proxy Fehlermeldung und eine Zertifikatsfehlermeldung, das der interne Name nicht im Zertifikat vorhanden ist. Über das Script wird bei mir nur die externe Adresse eingebunden.
Insgesamt sollten das ja min 3x sein:
– Externe Adresse
– Interne Adresse
– Autodiscover
Gibt es hierzu schon eine Lösung? Wir haben das gleiche Problem.
Wir wären ebenso bzgl. eine Antwort dankbar!
Fehlermeldung:
„Exchange FQDNs;Warning;Unroutable Domains were found, sorted out;“
Das Problem liegt wohl an dem internen DNS Namen?
Dieser wird jedenfalls im Letsencrypt Zertifikat nicht hinzugefügt.
Wir konnten hierzu jedoch keine Fehler erkennen.
Hallo Franky
+1 für den Fehler mit
30.10.2018 14:07:00;Certificate;Error;Failed to submit the certificate for signing;Unexpected error
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: be-sr-2013.beckert.ads“,
„status“: 403
}
Ist mir klar, für einen internen fqdn hab ich und kann ich mich nicht autorisieren.
Any Hints?
Franky habe folgendes gefunden:
Submitted by spanmo on Wed, 07/12/2017 – 16:20
Comment
#5
this is due to a bug in acme-tiny. package is updated already. short-term fix: update line 81 in /usr/share/webmin/webmin/acme_tiny.py:
common_name = re.search(r“Subject:.*? CN ?= ?([^\s,;/]+)“, out.decode(‚utf8‘))
(via https://github.com/diafygi/acme-tiny/issues/167)
Log in or register to post comments
Dave. Was hast du gemacht? Den Router gekocht?
Die Sache mit dem „authorizations for these names not found or expired“ hängt definitiv mit dem Zugriff zusammen. Habe heute nach einem Gateway cockup dann erfolgreich aktualisieren können.
Hi, habe den gleichen Fehler wie Frank sagt: 4. Oktober 2018 um 14:14
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: autodiscover.beispiel.de, mail.beispiel.de“,
„status“: 403
Hallo Frank,
super Beitrag und gutes Skript, leider läuft es immer wieder in einen Fehler,
ich habe schon versucht den Fehler zu finden.. leider habe ich keinen weiteren
Ansatz was falsch sein könnte. Fehler im log, letzter Eintrag:
04.10.2018 14:08:39;Certificate;Error;Failed to submit the certificate for signing;Unexpected error
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: autodiscover.beispiel.de, mail.beispiel.de“,
„status“: 403
}
Viele Grüße
Frank
Hi Frank,
dies schon gesehen?
https://github.com/PKISharp/ACMESharpCore
An ACME v2 client library for .NET Standard (Let’s Encrypt)
Hallo Frank,
wollte mich nur bedanken! Bin sehr zufrieden!
Habe es erfolgreich im 2016er und im 2010er Exchange (auf SBS) und am laufen :-)
@Marcel:
Ich habe auch eine UTM hinter einer Fritzbox, allerdings habe ich die UTM als DMZ laufen, d.h. der gesamte Traffic landet auf der UTM. Ich greife von intern wie auch extern auf den selben DNS-Namen zu, allerdings wird über die UTM die IP von intern verbogen, so dass der Traffic nicht nach draußen geht. Bei der ersten Erstellung des Zertifikates hat auch alles funktioniert, nur jetzt leider nicht mehr. Ich laufe immer wieder auf den gleichen Fehler auf. Ich habe innerhalb des Zertifikates 3 Domains eingetragen und sämtliche Hosts, also im Grunde ein SAN-Zertifikat für meine 3 Domains. Wie gesagt bei der Ersterstellung hat alles funktioniert.
Grüße
Eric
Hallo Frank
Auch von mir ein herzliches Dankeschön für das super Script, das zwar nach einigen Anlaufschwierigkeiten super läuft. Nachdem nun auch die ‚automatische‘ Erneuerung mir das Mail geschickt hat, dass das Zertifikat erneuert wurde, hab ich aber gesehen, dass immer noch das ‚alte‘ Zertifikat online ist.
Das Script (CertificateAssistant_v2_EX2013.ps1 auf Win2012R2 mit Exch2013) läuft ohne Fehler durch, das Zertifikat wird generiert und auch im Exchange unter Zertifikate eingetragen.
Einzig im Exchange-IIS-Manager muss ich da noch bei ‚Default Web Site‘ unter ‚Bindungen bearbeiten‘ das neue Zertifikat bei den https-Einträgen auswählen. Dies geht nicht automatisch.
Ist das korrekt das dies noch manuell gemacht werden muss oder hab ich noch einen Fehler drin?
@Eric
Eventuell auf den Online Exchange, was bei uns der Fall war.
@Marcel,
wie meinst Du das?
Wo zeigen die denn sonst hin, wenn nicht auf den Exchange-Server?
Grüße
Eric
Hi Franky,
ich hatte den Fehler mit dem EFS-Zertifikat und diesen behoben, nun kommt allerdings das nächste Problem:
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: meine-DNS-Einträge“,
„status“: 403
}
An was kann das nun liegen?
Grüße
Eric
@Felix
bei mir tauchte der Fehler im Zusammenhang mit dem internen und externen DNS auf.
Intern wie auch Extern müssen die DNS einträge noch auf den lokalen Exchange zeigen.
Gruß,
Marcel
Hallo Frank,
auch meinerseits viel Lob und Respekt vor dem was du hier leistest; ich denke, ohne Deinen ausführlichen Block wären viel am verzweifeln und sind stets dankbar für qualifizierte HowTos.
Leider erhalte ich dasselbe Problem wie oben durch Michael beschrieben.
Error creating new cert :: authorizations for these names not found or expired: autodiscover.company, mail.company.de“, „status“: 403}
Konnte das Problem bereits adressiert werden? Ich bin langsam am verzweifeln. Über positives Feedback würde ich mich sehr freuen.
Liebe Grüße
Felix
Hi Franky,
ich erhalte folgende Meldung im Log:
Es ist nicht möglich, einen Index auf ein NULL-Array anzuwenden.
LG
Hallo Frank,
Super Script. Funktioniert bei mir auf EXC2016.
Hast du dich schon mal mit der DNS-API beschäftigt?
Bin mir nicht sicher ob es ACMESharp überhaupt unterstützt, acme.sh tut es.
Der Vorteil bei dieser Methode ist, es muss kein Port 80 offen sein und es können auch non-Public Subdomain Einträge im Zertifikat stehen, da LE gegen einen TXT Record im DNS prüft.
Hallo Frank,
Danke danke für deine tollen HowTOs. Habe sie schon immer verwendet und werde es auch weiterhin machen. Das kleine Skript ist gar nicht mal ohne, hilft bestimmt auch viel weiter, wenn es denn nicht wie bei den Vorrednern Daniel usw. abbrechen würde.
Error creating new cert :: authorizations for these names not found or expired: autodiscover.company, webmail.company.de“, „status“: 403}
Hat hier denn schon jemand ne Lösung gefunden? Oder seh ich grade den Wald vor lauter Bäumen nicht mehr.
Vielleicht hat ja einer noch ne Lösung parat oder
@Frank kann ich dir gerne mal das ganze Log schicken. Vielleicht überseh ich da noch was.
Zur Info:
Ich habe auch eine UTM am laufen. (also Fritz –> 80+443 –> UTM–> 80+443 –>Ex01
ich hoffe damit kommt nicht der Fehler zustande…
Ich hoffe mal, nicht alle sitzen bei dem schönen Wetter draußen und jemand liest das :)
Grüße
Michael
Hallo Frank,
habe jetzt erst bemerkt, daß es ja eine neuere Version gibt, ich hatte noch die v1.1 getestet – danke erst mal für das Update, ich hoffe es funktioniert bei mir auch.
Ein Frage: hast du dich schon einmal mit CSRDetails beschäftigt? Es wäre schon nett, wenn das Zertifikat nicht nur funktioniert, sondern darin auch Eigentümer-Informationen stehen würden
lg Harold
Ich habe auch den Fehler. Gibt es dazu was neues?
05.05.2018 19:46:10;Certificate;Warning;Using remote.xxxxxx.de as certificates CN;
05.06.2018 19:46:10;Certificate;Error;Failed to create the certificate SAN0404xxxxxxxx;Unable to find an Identifier for the given reference
Gruss
Flo
Handelt sich um Exchange 2016 auf Server 2016
MfG Alex
Hallo,
ich erhalte beim Ausführen des Script den Fehler:
Failed to create the certificate SAN0406201239.. ;Unable to find an Identifier for the given reference
Im Log für die Powershell steht genauer
Fehlermeldung = Unable to find an Identifier for the given reference
Vollqualifizierte Fehler-ID = System.Exception,ACMESharp.POSH.NewCertificate
Kann Hier jemand Helfen??
Beste Grüße Alex
@Daniel
Bei mir bestand der Fehler, weil beide Domains lokal UND extern nicht auf den lokalen Exchange gezeigt haben.
Guten Morgen,
ich kriege den folgenden Fehler beim Ausführen des Skripts:
29.05.2018 08:27:22;Certificate;Error;Failed to submit the certificate for signing;Unexpected error
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: autodiscover.*****.de, outlook.*****.de“,
„status“: 403
}
Kann hier jemand helfen?
ACMESharp Ordern habe ich schon neu erstellen lassen.
Vielen Dank!
Gruß
Daniel
Hi Frank,
Been trying to get your new script working. Unfortunaltly I Always end with an error:
Certificate;Error;Failed to submit the certificate for signing;Access to the path ‚C:\ProgramData\ACMESharp\sysVault\45-KEYPM\0802f4ba-16fe-4804-b377-9c6adba87e59-key.pem‘ is denied.
I deleted the entire ACMESharp folder. It’s being recreated the next time I run the script, but the error stays..
Hallo Frank!
Ist es denn geplant die Execution Policy AllSigned zu unterstützen?
Er bricht mir jedes Mal ab, wenn er ein neues Script laden muss das nicht signiert ist.
z.B.: Load ACMEModule;Error;ACMEModule is installed, but can’t load it
Ich muss hier hin und das Skript suchen und signieren. wäre gut wenn er irgendwie die Signatur vom Hauptskript übernehmen würde.
So habe nun das Script ausgeführt. Nun habe ich das Problem das ich im Outlook eine Zertifikats Fehlermeldung bekomme.
Der Name auf dem Sicherheitszertifikat ist ungültig oder stimmt nicht überein. (es geht um das serversrv03.xx-xxxxxx.local)
Wenn der Client im Lokalen Netzwerk ist. Das ist das Lets Encrypt Zertifikat das auf mail.xx-xxxxx.com ausgestellt wurde verbunden. Wie behebe ich das?
Keine eine Idee
Hallo,
das Script hat bisher perfekt funktioniert jedoch nach Installation von OfficeOnlineServer (16.0.8471.8525) schlägt das Script immer fehl. Der Fehler ist reproduzierbar. Nach Deinstallation und reboot funktioniert das Script wieder.
Hier die betreffenden Logeinträge:
02.05.2018 10:37:06 – Exchange FQDNs – Info – Make them unique
02.05.2018 10:37:06 – Exchange FQDNs – Info – FQDNs are unique
02.05.2018 10:37:06 – Check Vault – Info – Lets check if exists a vault
Get-ACMEVault : Cannot deserialize the current JSON object (e.g. {„name“:“value“}) into type
‚ACMESharp.AcmeServerDirectory‘ because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path ‚Entity.ServerDirectory.init‘, line 19, position 13.
In C:\CertificateAssistant\CertificateAssistant_v2_EX2016.ps1:446 Zeichen:10
+ $Vault = Get-ACMEVault
+ ~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-ACMEVault], JsonSerializationException
+ FullyQualifiedErrorId : Newtonsoft.Json.JsonSerializationException,ACMESharp.POSH.GetVault
02.05.2018 10:37:07 – Check Vault – Warning – No vault found, let’s create one
02.05.2018 10:37:07 – Check Vault – Error – Can’t create vault, exiting script
[PS] C:\CertificateAssistant>
ist es ein Problem wenn der Hostname z.B srv3-exchange und der primäre DNS Suffix xx-firmay.local lautet?
Kann ich einfach mit den $DetermineExchangeFQDN auf false setzten und die externe Adresse eintragen?
Sobald ich unser rootcert der internen CA auf die Rechner einspiele geht auch das Autodiscovery. Server ist ein EX2013
LG
Hallo zusammen,
erstmal vielen Dank an Franky für das tolle Script, ich hatte schon die alte Version im Einsatz auf Windows 2012R2/Exchange 2013. Den Stoplerstein mit dem abgelaufenen Administrator Zertifiktat beim EFS Problem musste ich auch meistern. Danach hat alles geklappt!
Was mir noch auffällt: Bei allen meinen Connectoren (Senden und Empfangen) wurde das neue Zertifikat nicht aktiviert. Auch wenn man mittels
Get-ExchangeCertificate
$cert = Get-ExchangeCertificate -Thumbprint „12345abcd“
$TLSCert = (‘’+$cert.issuer+‘
’+$cert.subject)Set-SendConnector -Identity „xxxxxxxxxxxx“ -TLSCertificateName $TLSCert
Versucht das Zertifikat entsprechend zu binden kommt eine Fehlermeldung, (sinngemäß) dass keine Änderung erfolgt ist, weil das Zertifikat identisch ist…
Tatsächlich war aber noch das alte Zertifikat gebunden. Das liegt wohl daran, dass die Namen „issuer“ „CN=Let’s Encrypt…“ identisch sind.
Ich habe dann erst ein anderes internes Zertifikat mit entsprechendem Thumbprint gebunden, das hatte geklappt und dann in einer zweiten Runde das neue Lets Encrpyt mit neuem Thumbprint. Dann war alles OK.
Wenn dieses Problem sich irgendwie automatisieren lassen würde, wären wir einen Schritt weiter.
Hi Frank,
funktioniert dein Script auch für Server 2012 ohne R2 mit Exchange 2013?
Gruß Sascha
Moin nochmal,
wir haben jetzt folgendes probiert:
1. Manuell einen entsprechenden Account bei Letsencrypt erstellt und die Daten in das Script eingetragen. Dann haben wir das Script erneut gestartet und nun bekommen wir einen anderen Fehler:
04.04.2018 18:42:51;Certificate;Info;Try to create the certificate;
04.04.2018 18:42:51;Certificate;Warning;Using remote.xxxxxx.de as certificates CN;
04.04.2018 18:42:51;Certificate;Error;Failed to create the certificate SAN0404xxxxx842;Unable to find an Identifier for the given reference
Gerne schicke ich auch den kompletten Logfile.
Viele Grüße
Moin moin,
danke zunächst mal für das tolle Tool. Leider bricht es bei uns mit dem folgenden Fehler ab:
04.04.2018 18:13:59;Certificate;Error;Failed to submit the certificate for signing;Unexpected error
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: remote.unseredomain.de“,
„status“: 403
}
Irgend eine Idee?
Danke schon mal Vorab und viele Grüße aus Köln/Bonn
Servus,
habe den selben fehler wie Nils.
Gibt es dafür schon eine Lösung oder einen Grund woran das Problem liegt?
Hallo Frank,
Vielen Dank für das Skript, funktioniert perfekt. Ich hatte bei mir zunächst auch das EFS-Problem, es war, wie Tielman Cortez auch schon festgestellt hat, ein Zertifikat das 2010 (!) abgelaufen ist, von einem alten Server 2003 SBS, das noch in der GP hing.
Danach lief das Skript ohne Probleme.
Allerdings fehlt mir ein SAN in meinem Zertifikat, das ich nun gerne um diesen FQDN erweitern würde. Beim Ausführen des Skripts bleibt dies bei „Error – Failed to submit the certificate for signing“ stehen, wohl weil ja schon ein gültiges Zertifikat vorhanden ist. Wie kann ich das Thema lösen? Für eine Hilfe wäre ich dankbar. Ich habe schon alles mögliche gesucht, wie „revoke letsencrypt certificate“, aber ohne brauchbaren Hinweis…
Vielen Dank und Viele Grüße,
Stefan Fischer
Hallo Frank,
ich versuche gerade den neuen Zertifikats-Assistenten für Exchange 2013 (Server 2012R2) zum laufen zu bringen.
Ich habe das Skript mit Admin-Rechten gestartet und erhalte als letzte Ausgabe die Fehlermeldung:
18.03.2018 18:15:34;Certificate;Info;Try to create the certificate;
18.03.2018 18:15:34;Certificate;Warning;Using smail.ksmedizintechnik.de as certificates CN;
18.03.2018 18:15:34;Certificate;Error;Failed to create the certificate SAN180320181815;Unable to find an Identifier for the given reference
Kannst Du oder die Community mir helfen?
Vielen Dank im Voraus!
Liebe Grüße
Michael
Hallo Michael,
kannst du mir einmal das komplette Log zuschicken?
Gruß,
Frank
Hallo,
heute wurde ja schon die Wildcard Zertifikatsfunktion von Lets Encrypt vorgestellt.
Wirst du auch dafür das Script demnächst noch anpassen?
Besten Dank für deine bisherige Arbeit,
Klaus
Hallo Klaus,
bisher ist das ACMESharp PowerShell Modul noch nicht kompatibel zum ACMEv2 Protokoll. Sobald das Modul kompatibel ist, werde ich den Certificate Assistant natürlich auch anpassen.
Gruß,
Frank
PS: Ganz automatisch wird dies allerdings nicht funktionieren, da Wildcard Zertifikate nur via DNS Validierung ausgestellt werden, die HTTP Validierung entfällt.
Hallo,
ich habe das gleiche Problem wie David. Wie kann ich denn das ACMEVault löschen?
Hallo Frank,
Ich habe bei deinem Script am Ende folgenden Fehler:
Failed to Submit the certificate for signing, der Zugriff auf den Pfad „C:\ProgramData\AcmeSharp\sysVault\45-KEYPM\…..pem“ wurde verweigert.
Habe ich etwas übersehen?
Grüße Stefan
Hallo Stefan,
der Kommentar von Tielman enthält die Lösung:
https://support.microsoft.com/en-us/help/937536/error-message-when-client-computers-encrypt-a-file-in-a-windows-server
Gruß, Frank
Hallo zusammen!
Nur zur Info: ich habe das „*key.pem Zugriff verweigert.“-Problem gelöst. Es war tatsächlich noch ein uraltes abgelaufenes Zertifikat im DomainController. Vorgehensweise wird hier besprochen (für Server 2003, funktioniert aber im Prinzip auch bei 2016): https://support.microsoft.com/en-us/help/937536/error-message-when-client-computers-encrypt-a-file-in-a-windows-server
Nochmals Danke Frank!
Hallo Frank,
Ich bekomme leider immer eine Fehlermeldung beim Erstellen vom Zertifikat:
Certificate;Error;Failed to submit the certificate for signing;Unexpected error
+Response from server:
+ Code: Forbidden
+ Content: {
„type“: „urn:acme:error:unauthorized“,
„detail“: „Error creating new cert :: authorizations for these names not found or expired: subdomain.domain.de“,
„status“: 403}
Liegt meine Vermutung richtig, das Let’s Encrpyt die „Authentifizierung“ für die Domäne nicht nachvollziehen kann? Also nicht auf die URL zugreifen kann? Wenn ja woran kann es liegen, über http und https ist der Server erreichbar.
Gruß
Nils
Hallo Nils,
bitte schick mir das komplette Logfile per Mail.
Gruß,
Frank
Hallo Frank,
ich bin wie immer begeistert. Es funktioniert besser als Schweizer Uhr ;)
Wurde das eigentlich auch mit dem Remote Desktop Gateway vom Windows 2012R2 funktionieren?
Gruß Dragan
Hallo Dragan,
ich denke schon, du müsstest das Script dann etwas anpassen und die Exchange Bestandteile durch entsprechende RDS-Funktionen ersetzen.
Gruß,
Frank
Hallo,
läuft das ganze auch als kombination Exchange 2016 und Windows 2012R2?
Gruss Dragan
Hallo Dragan,
ja, das geht jetzt auch :-)
Gruß,
Frank
Hallo Frank,
tolles Script – vielen Dank dafür! Deine Arbeit hat mir bisher sehr viel Zeit und Mühe gespart.
Ich habe denselben Fehler wie David: „*key.pem Zugriff verweigert.“. Deinem Link nach soll man EFS umgehen, indem man ein „custom vault profile“ erstellt („BypassEFS = $true“). Da ich Win2016 Server einsetze, kann ich kaum glauben, dass dies richtig ist?!?
PS: „abgelaufene EFS Wiederherstellungszertifikate“? Wo stehen die? Ich habe in meinem Konsolenstamm (Computerkonto \ Lokaler Computer \ eigene Zertifikate) keine gefunden.
PPS: die voherige Version Deines CertificateAssistant lief ohne Probleme.
Beim Ausführen bekomme ich leider den folgenden Fehler:
Certificate;Error;Failed to submit the certificate for signing;Der Zugriff auf den Pfad „C:\ProgramData\ACMESharp\sysVault\45-KEYPM\4c529[…]195-key.pem“ wurde verweigert.
Ich habe zuvor das ACMESharp Modul komplett deinstalliert, sodass das Skript dies noch einmal selbst durchführen kann.
Betreiben einen Exchange Server 2013 CU 15 auf eine Windows 2012 R2 Server. Das Skript selbst habe ich auf dem Server als Administrator ausgeführt.
Bitte um Hilfe!
Hallo David,
die frage wurde bereits gestellt, schau mal hier
https://pkisharp.github.io/ACMESharp-docs/Local-Vault-EFS
Bitte prüfe auch mal ob du abgelaufene EFS Wiederherstellungszertifikate hast.
Gruß,
Frank
Hallo Stephan,
ich habe die Variable $DetermineExchangeFQDNs auf $false gesetzt und die $CustomFQDNs manuell angegeben.
Ein anderes Problem hat sich bei mir eröffnet… In der Produktivumgebung benutzen wir einen routbaren Domainnamen (Win Domäne), soweit so gut, aber wir besitzen diesen nicht. Unser Exchangeserver ist intern erreichbar unter exc1.firma.de, da ich aber exc1.firma.de von außen nicht zum Exchangeserver routen kann, kann ich auch kein DNSNamen für exc1.firma.de im Zertifikat erstellen lassen von LE.
Weißt du, ob es möglich ist das Ziel zum Exchangeserver zu ändern, z.b. in exc1.company.de?
Hallo Matthias
Ich habe das Skript nochmals ausgeführt, alles funktioniert soweit bis auf das Zertifkat selbst dies wird nicht als Trustet erkannt. Der Aussteller ist bei mir: CN=Fake LE Intermediate X1 Status: Invalid CN=mail.rysa.ch
Hast du noch anpassungen durchgeführt ?
Hallo Stephan,
lösche einmal das ACMEVault und lass das Script ein neues erstellen.
Gruß,
Frank
Perfekt, funktioniert ohne Probleme! Danke
Hallo zusammen, bei mir steht auch Fake LE Intermediate X1, habe ich da jetzt was falsch gemacht ?
Hallo Stephan, Hallo Matthias,
der Fehler liegt im Script, ich habe vergessen das Script nach meinen Tests auf das produktive System von Let’s Encrypt umzustellen. Den Fehler habe ich bereits korrigiert. Bitte das Script noch einmal runterladen.
Gruß,
Frank
Leider funktioniert das Ganze nicht so richtig…
Die Logdatei sagt, dass alles ok ist.., aber in der Exchange Zertifikatsübericht wir das neue Zertifikat (SAN123456789) als ungültig angezeigt.
Als Austeller ist nicht Lets Encrypt Auth.. X3 angegeben, sondern Fake LE Intermediate X1..
An was könnte es liegen?
freue mich schon auf die Ex2010 w2k8R2 version
Top, vielen vielen Dank.