Certificate Assistant jetzt auch für Exchange 2013 und Server 2012 R2

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:

Certificate Assistant

Wie gehabt müssen innerhalb des Scripts die ersten paar Zeilen angepasst werden:

Certificate Assistant

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:

Wenn es Probleme mit dem Script gibt, könnt ihr gerne das Logfile zuschicken. Nur so kann ich das Script verbessern und Fehler beheben.

91 Gedanken zu „Certificate Assistant jetzt auch für Exchange 2013 und Server 2012 R2“

  1. 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

    Antworten
  2. 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 .

    Antworten
  3. 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.

    Antworten
  4. 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.

    Antworten
  5. 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.

    Antworten
  6. 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?

    Antworten
    • 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.

      Antworten
  7. 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

    Antworten
  8. 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

    Antworten
  9. 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

    Antworten
  10. 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

    Antworten
  11. 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…

    Antworten
  12. 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.

    Antworten
  13. 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

    Antworten
    • 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!

      Antworten
      • 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

        Antworten
        • 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.

  14. 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?

    Antworten
  15. 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

    Antworten
  16. 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.

    Antworten
  17. 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

    Antworten
  18. 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

    Antworten
  19. @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

    Antworten
  20. 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?

    Antworten
  21. 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

    Antworten
  22. @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

    Antworten
  23. 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

    Antworten
  24. 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.

    Antworten
  25. 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

    Antworten
  26. 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

    Antworten
  27. 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

    Antworten
  28. 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

    Antworten
  29. 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

    Antworten
  30. 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..

    Antworten
  31. 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.

    Antworten
  32. 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?

    Antworten
  33. 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>

    Antworten
  34. 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

    Antworten
  35. 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.

    Antworten
  36. 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

    Antworten
  37. 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

    Antworten
  38. 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

    Antworten
  39. 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

    Antworten
  40. 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

    Antworten
    • 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.

      Antworten
  41. 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

    Antworten
  42. 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

    Antworten
  43. 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

    Antworten
  44. 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.

    Antworten
  45. 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!

    Antworten
  46. 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?

    Antworten
  47. 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 ?

    Antworten
    • 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

      Antworten
  48. 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?

    Antworten

Schreibe einen Kommentar