Notifications
Clear all

CertificateAssistantV3: Exchange 2019 auf Server 2019  

  RSS

(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
1. März 2020 15:59  

Hallo,

ich bin mit meinem Exchange Server von 2016 (Windows 2016) auf einen Windows Server 2019 und Exchange 2019 umgezogen.

Das Skript CertificateAssistant habe ich unter 2016 über Jahre sehr erfolgreich genutzt! Hat immer perfekt funktioniert! Vielen Dank nochmal dafür!

Nun schlägt das Skript mit folgendem LOG leider fehl:

TimeStamp;ScriptSection;Type;Message;ErrorDetails
01.03.2020 15:42:45;System;Info;Geting system parameters;
01.03.2020 15:42:45;System;Info;Certificate Assistant Exchange 2019 Version;
01.03.2020 15:42:45;System;Info;PowerShell Version: 5.1.17763.1007 OSVersion: 10.0.17763.0;
01.03.2020 15:42:45;Check Posh-ACME;Info;Check if Module installed;
01.03.2020 15:42:45;Load Posh-ACME;Info;Posh-ACME is installed, try to load it;
01.03.2020 15:42:45;Load Posh-ACME;Info;Module Import was successfull, PoshACMEVersion 3.12.0;
01.03.2020 15:42:45;Load Exchange SnapIns;Info;Try to load Exchange SnapIns;
01.03.2020 15:42:45;Load Exchange SnapIns;Info;Sucessfully loaded Exchange SnapIns;
01.03.2020 15:42:45;IIS;Info;Trying to create .Well-Known Directory;
01.03.2020 15:42:45;IIS;Info;Well-Known Folder already exists, skipping;
01.03.2020 15:42:45;IIS;Info;Added Mime Type to Well-Known Folder;
01.03.2020 15:42:45;IIS;Info;Changing Let's Encrypt IIS directory to http;
01.03.2020 15:42:46;IIS;Info;Successfully changed Let's Encrypt IIS directory to http;
01.03.2020 15:42:46;IIS;Info;Checking Let's Encrypt IIS directory to accept validation by http request;
01.03.2020 15:42:46;IIS;Info;.well-known directory accepts http;
01.03.2020 15:42:46;Exchange FQDNs;Info;Getting Exchange FQDNs;
01.03.2020 15:42:46;Exchange FQDNs;Info;Getting local Exchange Server Name;
01.03.2020 15:42:46;Exchange FQDNs;Info;Local Exchange Name PEANUTS;
01.03.2020 15:42:46;Exchange FQDNs;Info;Getting Autodiscover Hostname;
01.03.2020 15:42:46;Exchange FQDNs;Info;Autodiscover Hostname autodiscover.XXXX.de;
01.03.2020 15:42:46;Exchange FQDNs;Info;Getting Exchange Outlook Anywhere External FQDN;
01.03.2020 15:42:46;Exchange FQDNs;Info;Exchange Outlook Anywhere External FQDN mail.XXXX.de;
01.03.2020 15:42:46;Exchange FQDNs;Info;Getting Exchange Outlook Anywhere Internal FQDN;
01.03.2020 15:42:47;Exchange FQDNs;Info;Exchange Outlook Anywhere Internal FQDN mail.XXXX.de;
01.03.2020 15:42:47;Exchange FQDNs;Info;Getting Exchange OAB External FQDN;
01.03.2020 15:42:48;Exchange FQDNs;Info;Exchange OAB External FQDN mail.XXXX.de;
01.03.2020 15:42:48;Exchange FQDNs;Info;Getting Exchange OAB Internal FQDN;
01.03.2020 15:42:49;Exchange FQDNs;Info;Exchange OAB Internal FQDN mail.XXXX.de;
01.03.2020 15:42:49;Exchange FQDNs;Info;Getting Exchange EAS Internal FQDN;
01.03.2020 15:42:50;Exchange FQDNs;Info;Exchange EAS Internal FQDN mail.XXXX.de;
01.03.2020 15:42:50;Exchange FQDNs;Info;Getting Exchange EAS External FQDN;
01.03.2020 15:42:52;Exchange FQDNs;Info;Exchange EAS External FQDN mail.XXXX.de;
01.03.2020 15:42:52;Exchange FQDNs;Info;Getting Exchange EWS Internal FQDN;
01.03.2020 15:42:53;Exchange FQDNs;Info;Exchange EWS Internal FQDN mail.XXXX.de;
01.03.2020 15:42:53;Exchange FQDNs;Info;Getting Exchange EWS External FQDN;
01.03.2020 15:42:54;Exchange FQDNs;Info;Exchange EWS External FQDN mail.XXXX.de;
01.03.2020 15:42:54;Exchange FQDNs;Info;Getting Exchange ECP Internal FQDN;
01.03.2020 15:42:55;Exchange FQDNs;Info;Exchange EWS Internal FQDN mail.XXXX.de;
01.03.2020 15:42:55;Exchange FQDNs;Info;Getting Exchange ECP External FQDN;
01.03.2020 15:42:57;Exchange FQDNs;Info;Exchange ECP External FQDN mail.XXXX.de;
01.03.2020 15:42:57;Exchange FQDNs;Info;Getting Exchange OWA Internal FQDN;
01.03.2020 15:42:58;Exchange FQDNs;Info;Exchange OWA Internal FQDN mail.XXXX.de;
01.03.2020 15:42:58;Exchange FQDNs;Info;Getting Exchange OWA External FQDN;
01.03.2020 15:42:59;Exchange FQDNs;Info;Exchange OWA ExternalFQDN mail.XXXX.de;
01.03.2020 15:42:59;Exchange FQDNs;Info;Getting Exchange MAPI Internal FQDN;
01.03.2020 15:43:00;Exchange FQDNs;Info;Exchange MAPI Internal FQDN mail.XXXX.de;
01.03.2020 15:43:00;Exchange FQDNs;Info;Getting Exchange MAPI External FQDN;
01.03.2020 15:43:00;Exchange FQDNs;Info;Exchange MAPI External FQDN mail.XXXX.de;
01.03.2020 15:43:00;Exchange FQDNs;Info;Make them unique;
01.03.2020 15:43:00;Exchange FQDNs;Info;FQDNs are unique;
01.03.2020 15:43:00;LE System;Info;Setting LE Mode;
01.03.2020 15:43:00;LE System;Info;Setting LE Mode to PRODUCTION MODE (LIVE SYSTEM);
01.03.2020 15:43:00;LE System;Info;Checking for existing LE Account;
01.03.2020 15:43:00;LE System;Info;Found a existing LE Account;
01.03.2020 15:43:00;LE Certificate;Info;Trying to create a new order for a certificate;
01.03.2020 15:43:05;LE Certificate;Info;Successfully ordered certificate;
01.03.2020 15:43:05;LE System;Info;Creating Autorisation files for LE verification;
01.03.2020 15:43:05;LE System;Info;Asking LE to verify the order;
01.03.2020 15:43:06;LE System;Info;Successfully informed LE to verify the order;
01.03.2020 15:43:06;LE System;INFO;Let's give LE some time to validate (1 min);1 min
01.03.2020 15:44:06;LE System;INFO;Time to wake up, need coffee!;
01.03.2020 15:44:06;LE System;INFO;Let's check the authorization;
01.03.2020 15:44:06;LE System;INFO;Authorization for autodiscover.XXXX.de is valid;
01.03.2020 15:44:06;LE System;INFO;Authorization for mail.XXXX.de is valid;
01.03.2020 15:44:06;LE System;INFO;Let's refresh the order;
01.03.2020 15:44:06;LE System;INFO;Let's check if order is ready;
01.03.2020 15:44:06;LE System;INFO;Order is ready;
01.03.2020 15:44:06;LE System;INFO;Let's get the certificate;
01.03.2020 15:44:08;LE System;INFO;Getting certificate was successfull. Thumbprint is D2DBDFF97809A5A2C49041DB7BBF7FCCF86AB96B;
01.03.2020 15:44:08;LE System;INFO;Let's check if the PFX is present;
01.03.2020 15:44:08;Cert Export;Info;PFX D2DBDFF97809A5A2C49041DB7BBF7FCCF86AB96B verified successfully;
01.03.2020 15:44:08;LE System;INFO;CleanUp Mime Type;
01.03.2020 15:44:08;LE System;INFO;CleanUp successfull;
01.03.2020 15:44:08;Exchange;Info;Lets try to enable certificate for Exchange Server;
01.03.2020 15:44:08;Exchange;Info;Exchange Server Version: Version 15.2 (Build 464.5);
01.03.2020 15:44:08;Exchange;Error;Failed to import and enable Certificate;Das Argument kann nicht an den Parameter "String" gebunden werden, da es sich um eine leere Zeichenfolge handelt.
01.03.2020 15:44:08;SendMail;Info;Try to send email with logfile;
01.03.2020 15:44:08;SendMail;Info;E-Mail send successfully initiated;
01.03.2020 15:44:08;End;Info;End of script;

 

Bin für jede Hilfe dankbar!!!

Vielen Dank!

Per


Zitat
Schlagwörter für Thema
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
2. März 2020 09:22  

@pcasten

Wenn du die .pfx Datei ausfindig gemacht hast (vermutlich im selben Verzeichnis oder AppData\Local\Temp), probiere es doch mal mit einem manuellen Import:

$ImportPassword = ConvertTo-SecureString -String PASSWORT_FUER_PFX_DATEI -Force –AsPlainText
Import-ExchangeCertificate -FileName C:\Pfad_zur\PFX_DATEI.pfx -FriendlyName mail.XXXX.de -Password $ImportPassword -PrivateKeyExportable:$true | Enable-ExchangeCertificate -Services "SMTP, IMAP, POP, IIS" –force

Gelingt das per Exchange Management Shell?

Ansonsten mal Stück für Stück ausprobieren und erstmal nur das Zertifikat importieren, ohne es zu aktivieren:

$ImportPassword = ConvertTo-SecureString -String PASSWORT_FUER_PFX_DATEI -Force –AsPlainText
Import-ExchangeCertificate -FileName C:\Pfad_zur\PFX.pfx -FriendlyName mail.XXXX.de -Password $ImportPassword -PrivateKeyExportable:$true

Letzte Möglichkeit, den Import und das zuweisen der Dienste einmal per ECP probieren.

So ließe sich ein wenig Ursachenforschung betreiben.

Gruß

Mathias


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
6. März 2020 11:43  

@Mathias: vielen Dank für Deine Hilfestellung!

Leider komme ich überhaupt nicht weiter....

Es wird einfach keine .PFX Datei erstellt!

Das einzige was ich sehe, sind zwei Dateien in Verzeichnis C:\inetpub\wwwroot\Well-Known\acme-challenge die angelegt werden und sehr kryptische Namen mit Inhalt haben....z.B. jw2eOXtZp300m7BD2_1sVRimgz7B5np95jIMg6h6gEg

Fehlt mir ggf. irgendein Tool etc. was noch installiert werden muss?

Bin für jede Hilfe dankbar, da mein Zertifikat nächste Woche abläuft! ? 

DANKE!

Per


AntwortZitat
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
6. März 2020 17:24  

@pcasten

Als schnelle Hilfe kannst du dir über Certify the Web ( https://certifytheweb.com ) erstmal ein Zertifikat holen und per mmc.exe (Zertifikat SnapIn -> Computerkonto) auf dem Server, auf dem Exchange läuft, importieren. Dann kannst du es im ECP des Exchange importieren und Dienste zuweisen. Vorausgesetzt, darüber klappt die Dienste-Zuweisung. Per Script scheint es ja genau an dem Punkt zu haken.

Um den Rest kümmern wir uns schon noch. Gemäß des Log deines Scripts ist die PFX ja da, du kannst mal mit Get-ExchangeCertificate schauen, ob da ein Zertifikat mit dem Thumbprint D2DBDFF97809A5A2C49041DB7BBF7FCCF86AB96B aufgeführt ist.

Gruß

Mathias

 


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
6. März 2020 18:10  

@Mathias: vielen Dank für Deine schnelle Hilfe!

ich habe das Tool runtergeladen und gestartet....alle notwendigen Angaben...

Nun kommt aber das:

2020-03-06 17:55:16.932 +01:00 [INF] Certify/4.1.8.0 (Windows; Microsoft Windows NT 6.2.9200.0)
2020-03-06 17:55:16.932 +01:00 [INF] Beginning Certificate Request Process: Exchange Back End using ACME Provider:Certes
2020-03-06 17:55:16.932 +01:00 [INF] Registering Domain Identifiers
2020-03-06 17:55:16.932 +01:00 [ERR] BeginCertificateOrder: creating/retrieving order. Retries remaining:2
2020-03-06 17:55:17.836 +01:00 [ERR] BeginCertificateOrder: error creating order. Retries remaining:1 :: Certes.AcmeRequestException: Fail to load resource from 'https://acme-v02.api.letsencrypt.org/acme/new-order'.
urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: autodiscover.XXXXX.de,mail.XXXXX.de: see https://letsencrypt.org/docs/rate-limits/
bei Certes.Acme.IAcmeHttpClientExtensions.<Post>d__0`1.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Certes.AcmeContext.<NewOrder>d__19.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei Certify.Providers.Certes.CertesACMEProvider.<BeginCertificateOrder>d__26.MoveNext()
2020-03-06 17:55:18.837 +01:00 [ERR] BeginCertificateOrder: creating/retrieving order. Retries remaining:0
2020-03-06 17:55:19.197 +01:00 [ERR] BeginCertificateOrder: error creating order. Retries remaining:-1 :: Certes.AcmeRequestException: Fail to load resource from 'https://acme-v02.api.letsencrypt.org/acme/new-order'.
urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: autodiscover.XXXXX.de,mail.XXXXX.de: see https://letsencrypt.org/docs/rate-limits/
bei Certes.Acme.IAcmeHttpClientExtensions.<Post>d__0`1.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Certes.AcmeContext.<NewOrder>d__19.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei Certify.Providers.Certes.CertesACMEProvider.<BeginCertificateOrder>d__26.MoveNext()
2020-03-06 17:55:20.198 +01:00 [INF] Failed to create certificate order: Failed to begin certificate order.
2020-03-06 17:55:20.797 +01:00 [INF] Failed to create certificate order: Failed to begin certificate order.

 

Es liegen wohl von meinen vielen Tests "alte orders" :-) 

Wie kann ich diese löschen und ganz frisch starten?

Merci!

Per

 


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
7. März 2020 14:55  

Hallo,

ich verstehe es so langsam überhaupt nicht mehr!?!?

Aktuell ist folgendes aktiv:

[PS] C:\Windows\system32>Get-ExchangeCertificate

Thumbprint Services Subject
---------- -------- -------
772E09B23119A38EFDDFF210B92B34DD5E4A5665 IP.WS.. CN=autodiscover.XXXX.de

 

Dieses Zertifikat wurde mit dem Tool CertificateAssistant_v3_EX2019.ps1 erstellt! Hier das LOG dazu:

 

15.12.2019 16:43:31;System;Info;Geting system parameters;
15.12.2019 16:43:31;System;Info;Certificate Assistant Exchange 2019 Version;
15.12.2019 16:43:31;System;Info;PowerShell Version: 5.1.17763.771 OSVersion: 10.0.17763.0;
15.12.2019 16:43:31;Check Posh-ACME;Info;Check if Module installed;
15.12.2019 16:43:31;Load Posh-ACME;Info;Posh-ACME is installed, try to load it;
15.12.2019 16:43:31;Load Posh-ACME;Info;Module Import was successfull, PoshACMEVersion 3.12.0;
15.12.2019 16:43:31;Load Exchange SnapIns;Info;Try to load Exchange SnapIns;
15.12.2019 16:43:31;Load Exchange SnapIns;Info;Sucessfully loaded Exchange SnapIns;
15.12.2019 16:43:31;IIS;Info;Trying to create .Well-Known Directory;
15.12.2019 16:43:31;IIS;Info;Well-Known Folder already exists, skipping;
15.12.2019 16:43:31;IIS;Info;Added Mime Type to Well-Known Folder;
15.12.2019 16:43:31;IIS;Info;Changing Let's Encrypt IIS directory to http;
15.12.2019 16:43:32;IIS;Info;Successfully changed Let's Encrypt IIS directory to http;
15.12.2019 16:43:32;IIS;Info;Checking Let's Encrypt IIS directory to accept validation by http request;
15.12.2019 16:43:33;IIS;Info;.well-known directory accepts http;
15.12.2019 16:43:33;Exchange FQDNs;Info;Getting Exchange FQDNs;
15.12.2019 16:43:33;Exchange FQDNs;Info;Getting local Exchange Server Name;
15.12.2019 16:43:33;Exchange FQDNs;Info;Local Exchange Name PEANUTS;
15.12.2019 16:43:33;Exchange FQDNs;Info;Getting Autodiscover Hostname;
15.12.2019 16:43:33;Exchange FQDNs;Info;Autodiscover Hostname autodiscover.XXXX.de;
15.12.2019 16:43:33;Exchange FQDNs;Info;Getting Exchange Outlook Anywhere External FQDN;
15.12.2019 16:43:33;Exchange FQDNs;Info;Exchange Outlook Anywhere External FQDN mail.XXXX.de;
15.12.2019 16:43:33;Exchange FQDNs;Info;Getting Exchange Outlook Anywhere Internal FQDN;
15.12.2019 16:43:34;Exchange FQDNs;Info;Exchange Outlook Anywhere Internal FQDN mail.XXXX.de;
15.12.2019 16:43:34;Exchange FQDNs;Info;Getting Exchange OAB External FQDN;
15.12.2019 16:43:36;Exchange FQDNs;Info;Exchange OAB External FQDN mail.XXXX.de;
15.12.2019 16:43:36;Exchange FQDNs;Info;Getting Exchange OAB Internal FQDN;
15.12.2019 16:43:37;Exchange FQDNs;Info;Exchange OAB Internal FQDN mail.XXXX.de;
15.12.2019 16:43:37;Exchange FQDNs;Info;Getting Exchange EAS Internal FQDN;
15.12.2019 16:43:38;Exchange FQDNs;Info;Exchange EAS Internal FQDN mail.XXXX.de;
15.12.2019 16:43:38;Exchange FQDNs;Info;Getting Exchange EAS External FQDN;
15.12.2019 16:43:40;Exchange FQDNs;Info;Exchange EAS External FQDN mail.XXXX.de;
15.12.2019 16:43:40;Exchange FQDNs;Info;Getting Exchange EWS Internal FQDN;
15.12.2019 16:43:41;Exchange FQDNs;Info;Exchange EWS Internal FQDN mail.XXXX.de;
15.12.2019 16:43:41;Exchange FQDNs;Info;Getting Exchange EWS External FQDN;
15.12.2019 16:43:42;Exchange FQDNs;Info;Exchange EWS External FQDN mail.XXXX.de;
15.12.2019 16:43:42;Exchange FQDNs;Info;Getting Exchange ECP Internal FQDN;
15.12.2019 16:43:43;Exchange FQDNs;Info;Exchange EWS Internal FQDN mail.XXXX.de;
15.12.2019 16:43:43;Exchange FQDNs;Info;Getting Exchange ECP External FQDN;
15.12.2019 16:43:44;Exchange FQDNs;Info;Exchange ECP External FQDN mail.XXXX.de;
15.12.2019 16:43:44;Exchange FQDNs;Info;Getting Exchange OWA Internal FQDN;
15.12.2019 16:43:45;Exchange FQDNs;Info;Exchange OWA Internal FQDN mail.XXXX.de;
15.12.2019 16:43:45;Exchange FQDNs;Info;Getting Exchange OWA External FQDN;
15.12.2019 16:43:47;Exchange FQDNs;Info;Exchange OWA ExternalFQDN mail.XXXX.de;
15.12.2019 16:43:47;Exchange FQDNs;Info;Getting Exchange MAPI Internal FQDN;
15.12.2019 16:43:48;Exchange FQDNs;Info;Exchange MAPI Internal FQDN mail.XXXX.de;
15.12.2019 16:43:48;Exchange FQDNs;Info;Getting Exchange MAPI External FQDN;
15.12.2019 16:43:48;Exchange FQDNs;Info;Exchange MAPI External FQDN mail.XXXX.de;
15.12.2019 16:43:48;Exchange FQDNs;Info;Make them unique;
15.12.2019 16:43:48;Exchange FQDNs;Info;FQDNs are unique;
15.12.2019 16:43:48;LE System;Info;Setting LE Mode;
15.12.2019 16:43:49;LE System;Info;Setting LE Mode to PRODUCTION MODE (LIVE SYSTEM);
15.12.2019 16:43:49;LE System;Info;Checking for existing LE Account;
15.12.2019 16:43:49;LE System;Warning;No LE Account was found, creating a new one;
15.12.2019 16:43:50;LE Certificate;Info;Trying to create a new order for a certificate;
15.12.2019 16:43:50;LE Certificate;Info;Successfully ordered certificate;
15.12.2019 16:43:50;LE System;Info;Creating Autorisation files for LE verification;
15.12.2019 16:43:51;LE System;Info;Asking LE to verify the order;
15.12.2019 16:43:51;LE System;Info;Successfully informed LE to verify the order;
15.12.2019 16:43:51;LE System;INFO;Let's give LE some time to validate (1 min);1 min
15.12.2019 16:44:52;LE System;INFO;Time to wake up, need coffee!;
15.12.2019 16:44:52;LE System;INFO;Let's check the authorization;
15.12.2019 16:44:52;LE System;INFO;Authorization for autodiscover.XXXX.de is valid;
15.12.2019 16:44:52;LE System;INFO;Authorization for mail.XXXX.de is valid;
15.12.2019 16:44:52;LE System;INFO;Let's refresh the order;
15.12.2019 16:44:52;LE System;INFO;Let's check if order is ready;
15.12.2019 16:44:52;LE System;INFO;Order is ready;
15.12.2019 16:44:52;LE System;INFO;Let's get the certificate;
15.12.2019 16:44:54;LE System;INFO;Getting certificate was successfull. Thumbprint is 772E09B23119A38EFDDFF210B92B34DD5E4A5665;
15.12.2019 16:44:54;LE System;INFO;Let's check if the PFX is present;
15.12.2019 16:44:54;Cert Export;Info;PFX 772E09B23119A38EFDDFF210B92B34DD5E4A5665 verified successfully;
15.12.2019 16:44:54;LE System;INFO;CleanUp Mime Type;
15.12.2019 16:44:54;LE System;INFO;CleanUp successfull;
15.12.2019 16:44:54;Exchange;Info;Lets try to enable certificate for Exchange Server;
15.12.2019 16:44:55;Exchange;Info;Exchange Server Version: Version 15.2 (Build 464.5);
15.12.2019 16:44:56;Exchange;Info;Successfully imported and enabled Certificate;
15.12.2019 16:44:56;SendMail;Info;Try to send email with logfile;
15.12.2019 16:44:56;SendMail;Info;E-Mail send successfully initiated;
15.12.2019 16:44:56;End;Info;End of script;

 

Nun bekomme ich immer wieder diese Meldung:

06.03.2020 10:43:25;LE System;INFO;Getting certificate was successfull. Thumbprint is 5D1F0B0D4DFE1C389F49FD346A37DFAC7FF1BFF4;
06.03.2020 10:43:25;LE System;INFO;Let's check if the PFX is present;
06.03.2020 10:43:25;Cert Export;Info;PFX 5D1F0B0D4DFE1C389F49FD346A37DFAC7FF1BFF4 verified successfully;
06.03.2020 10:43:25;LE System;INFO;CleanUp Mime Type;
06.03.2020 10:43:25;LE System;INFO;CleanUp successfull;
06.03.2020 10:43:25;Exchange;Info;Lets try to enable certificate for Exchange Server;
06.03.2020 10:43:25;Exchange;Info;Exchange Server Version: Version 15.2 (Build 464.5);
06.03.2020 10:43:25;Exchange;Error;Failed to import and enable Certificate;Das Argument kann nicht an den Parameter "String" gebunden werden, da es sich um eine leere Zeichenfolge handelt.
06.03.2020 10:43:25;SendMail;Info;Try to send email with logfile;
06.03.2020 10:43:25;SendMail;Info;E-Mail send successfully initiated;
06.03.2020 10:43:25;End;Info;End of script;

 

Es scheint so zu sein, dass zu viele "order" bei letsencrypt liegen:

2020-03-06 17:53:46.710 +01:00 [ERR] BeginCertificateOrder: creating/retrieving order. Retries remaining:0
2020-03-06 17:53:47.041 +01:00 [ERR] BeginCertificateOrder: error creating order. Retries remaining:-1 :: Certes.AcmeRequestException: Fail to load resource from 'https://acme-v02.api.letsencrypt.org/acme/new-order'.
urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: autodiscover.XXXXX.de,mail.XXXXX.de: see https://letsencrypt.org/docs/rate-limits/
bei Certes.Acme.IAcmeHttpClientExtensions.<Post>d__0`1.MoveNext()

 

Das kann ich aber überhaupt nicht nachvollziehen, da ich direkt beim ersten Versuch, das Zertifikat zu erneuten die gleiche Meldung bekommen habe.

Weiß jemand wie man die "order" sehen und ggf. löschen kann? Oder muss ich jetzt X Tage warten?

 

HILFE, HILFE, HILFE....

Danke!

Per


AntwortZitat
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
9. März 2020 09:29  

@pcasten

Das Zertifikat mit dem Fingerabdruck 772E09B23119A38EFDDFF210B92B34DD5E4A5665 scheint ja sauber abgeholt und zugewiesen worden zu sein.

Lass dir doch mal eine Übersicht über deine verfügbaren Zertifikate geben und schau, welche Dienste dem Zertifikat 772E...5665 zugewiesen sind:

Get-ExchangeCertificate | fl Thumbprint,Issuer,Subject,CertificateDomains,Services,NotBefore,NotAfter

 

Wenn dort das 772E...5665 auftaucht, ihm aber noch ein Dienst fehlt, der dir wichtig ist (allen voran IIS), dann weise ihm mal per Powershell die Dienste zu:

Enable-ExchangeCertificate -Thumbprint 772E09B23119A38EFDDFF210B92B34DD5E4A5665 -Services POP,IMAP,SMTP,IIS

 

Was die Limits angeht, kann ich dir auch nicht wirklich weiterhelfen. Vielleicht kann hier @franky unterstützend tätig werden :-)

 

Gruß

Mathias

 


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
9. März 2020 13:27  

@Mathias

Yep, genau das habe ich aus den LOGs lesen können. Am 15.12.2019 hat das Script noch das Zertifikat mit dem Fingerprint 772E09B23119A38EFDDFF210B92B34DD5E4A5665  erzeugt und in Exchange eingebunden....die notwendigen Dienste sind diesem Zertifikat zugewiesen, läuft seitdem auch perfekt! Keine Zertifikats Fehler beim Aufruf der OWA URL etc.

Nur dieses Zertifikat läuft am 14.03.2020 ab! Also wollte ich rechtzeitig ein neues erstellen...ABER nun tut das Skript nicht mehr ?, warum auch immer?!?

Ich bin z.Z. mit meinem Latein am Ende....

Danke trotzdem für Deine Hilfe!

Per


AntwortZitat
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
9. März 2020 14:16  

@pcasten

Liste uns doch mal bitte deine verfügbaren Zertifikate auf, Domains kannst du natürlich zensieren:

Get-ExchangeCertificate | fl Thumbprint,Issuer,Subject,CertificateDomains,Services,NotBefore,NotAfter

 

Dann schauen wir doch mal, welche dein Server aktuell zur Verfügung hat und probieren nochmals von Hand, ihm Dienste zuzuweisen.

Das Zertifikat mit dem Fingerabdruck D2DBDFF97809A5A2C49041DB7BBF7FCCF86AB96B wäre interessant, da schien es ja an der Zuweisung der Dienste zu scheitern - Das Zertifikat selbst scheint ja da zu sein (sofern du bislang nichts gelöscht hast).

 


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
9. März 2020 14:31  

Hi,

hier der Output:

[PS] C:\Windows\system32>
[PS] C:\Windows\system32>Get-ExchangeCertificate | fl Thumbprint,Issuer,Subject,CertificateDomains,Services,NotBefore,NotAfter
Neue Sitzung für implizite Remotevorgänge des Befehls "Get-ExchangeCertificate" wird erstellt...

Thumbprint : 772E09B23119A38EFDDFF210B92B34DD5E4A5665
Issuer : CN=Let's Encrypt Authority X3, O=Let's Encrypt, C=US
Subject : CN=autodiscover.XXXXX.de
CertificateDomains : {autodiscover.XXXXX.de, mail.XXXXX.de}
Services : IMAP, POP, IIS, SMTP
NotBefore : 15.12.2019 15:44:53
NotAfter : 14.03.2020 15:44:53

 

ich habe den ganzen Server nach einem Zertifikat D2DBDFF97809A5A2C49041DB7BBF7FCCF86AB96B durchsucht, aber ich finde überhaupt keine Datei die irgendwie passen würde...

Wenn ich die LOGs richtig verstehe, wird dieses Zertifikat überhaupt nicht erst erstellt! Darum kommt dann wohl auch Das Argument kann nicht an den Parameter "String" gebunden werden, da es sich um eine leere Zeichenfolge handelt.

Ich denke nicht, dass es ein Problem mit dem Tools von Franky ist! 

In einem der LOGs steht ja dies:

2020-03-06 17:53:47.041 +01:00 [ERR] BeginCertificateOrder: error creating order. Retries remaining:-1 :: Certes.AcmeRequestException: Fail to load resource from 'https://acme-v02.api.letsencrypt.org/acme/new-order'.
urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: autodiscover.XXXXX.de,mail.XXXXX.de

Aber warum? Ich habe seit dem 15.12.2019 das Tool nicht mehr angerührt und auch kein Zertifikat angefordert!?

Danke

Per

 


AntwortZitat
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
10. März 2020 11:42  

@pcasten

Ich habe gerade etwas gelesen, das dir VIELLEICHT helfen kann.

Ändere im Script doch bitte mal zwei Zeilen ab:

$DetermineExchangeFQDNs = $false
$CustomFQDNs = @("mail.XXXXX.de","autodiscover.XXXXX.de","exchange.XXXXX.de")

sprich, häng zusätzlich zu den benötigten mail. und autodiscover. noch eine dritte Subdomain mit dran, für die das Zertifikat ausgestellt werden soll.

Bereite das externe DNS entsprechend so vor, das der Eintrag ebenfalls richtig aufgelöst wird und beantrage dann nochmal ein Zertifikat.

Zitat: "If you have, or can create, an additional subdomain, you can add that to the certificate request and then it’s no longer the “exact set of domains”."

 

Das klärt zwar nicht die Ursache, aber es hilft dir erstmal zu einer Lösung. Vorausgesetzt, es funktioniert :-)

 


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
10. März 2020 13:32  

@Mathias: vielen Dank nochmal für Deine Rückmeldung!

Ich konnte leider nicht früher antworten, da mein Account gesperrt war und ich erst @franky kontaktieren musste um ihn wieder zu aktivieren...

Hier nochmal ein Resümee, was ich alles schon versucht habe...

1. Anpassung des Skripts:

Hier habe ich die einzelnen URLs direkt angegeben:

# If you don't want to let the script automaticaly determine the Exchange
# Server FQDNs, you can disable this feature and set your own values.
# You have to set $DetermineExchangeFQDNs to $false and specify your own
# DNS Names.

$DetermineExchangeFQDNs = $false

# If you have set $DetermineExchangeFQDNs to $false, you have to specify
# your own FQDNs here. The first FQDN in the list will be used as
# Common Name (CN). Leave this setting as is it, if you have set
# $DetermineExchangeFQDNs = $true:

$CustomFQDNs = @("mail.XXXXX.de","autodiscover.XXXXX.de")

 

3. hier die z.Z. aktiven Zertifikate:

[PS] C:\Windows\system32>Get-ExchangeCertificate | fl Thumbprint,Issuer,Subject,CertificateDomains,Services,NotBefore,NotAfter
Neue Sitzung für implizite Remotevorgänge des Befehls "Get-ExchangeCertificate" wird erstellt...

Thumbprint : 772E09B23119A38EFDDFF210B92B34DD5E4A5665
Issuer : CN=Let's Encrypt Authority X3, O=Let's Encrypt, C=US
Subject : CN=autodiscover.XXXXX.de
CertificateDomains : {autodiscover.XXXXX.de, mail.XXXXX.de}
Services : IMAP, POP, IIS, SMTP
NotBefore : 15.12.2019 15:44:53
NotAfter : 14.03.2020 15:44:53

 

Also eigentlich geht es nur um das Zertifikat 772E09B23119A38EFDDFF210B92B34DD5E4A5665 welches ich am 15.12.2019 mit dem Skript erfolgreich erstellt habe! Das ist auch noch aktiv. Läuft allerdings am 14.03.2020 aus...

Das der Grund, warum ich nun frühzeitig ein neues erstellen wollte. 

3. Skript bzw. Commando get-paorder:

Wenn ich get-paorder | Get-PAAuthorizations überprüfe, bekomme ich ein anderes Ablaufdatum!?:

fqdn                                status     Expires                       DNS01Status            HTTP01Status
----                                  ------      -------                         -----------                 -----------
autodiscover.XXXXX.de valid       31.03.2020 12:30:37                                  valid
mail.XXXXX.de               valid       31.03.2020 12:30:37                                  valid

 

4. Auswertung der verschiedenen LOGs

In den diversen LOGs finde ich diese Meldung:

06.03.2020 10:43:25;Exchange;Error;Failed to import and enable Certificate;Das Argument kann nicht an den Parameter "String" gebunden werden, da es sich um eine leere Zeichenfolge handelt.

Das deutet daraufhin, dass der Skript kein Input bekommt....was widerrum hierzu passt:

2020-03-06 17:53:47.041 +01:00 [ERR] BeginCertificateOrder: error creating order. Retries remaining:-1 :: Certes.AcmeRequestException: Fail to load resource from 'https://acme-v02.api.letsencrypt.org/acme/new-order'.
urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains:

Aber warum? Wie gesagt, ich das letzte Mal am 15.12.2019 erfolgreich das Zertifikat 772E09B23119A38EFDDFF210B92B34DD5E4A5665 erstellt bekommen. und nun sollen zu viele "Orders" da liegen!?

Ich lass das ganze nun mal bis zum 13.03.2002 in Ruhe, vielleicht "beruhigt" es sich ja!?

Ich glaube nicht, dass das Skript ein Problem hat!! Es scheint wohl an LetsEncrypt zu liegen....

Danke!


AntwortZitat
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
10. März 2020 14:23  
Veröffentlicht von: @mathias

@pcasten

Ich habe gerade etwas gelesen, das dir VIELLEICHT helfen kann.

Ändere im Script doch bitte mal zwei Zeilen ab:

$DetermineExchangeFQDNs = $false
$CustomFQDNs = @("mail.XXXXX.de","autodiscover.XXXXX.de","exchange.XXXXX.de")

sprich, häng zusätzlich zu den benötigten mail. und autodiscover. noch eine dritte Subdomain mit dran, für die das Zertifikat ausgestellt werden soll.

Bereite das externe DNS entsprechend so vor, das der Eintrag ebenfalls richtig aufgelöst wird und beantrage dann nochmal ein Zertifikat.

Zitat: "If you have, or can create, an additional subdomain, you can add that to the certificate request and then it’s no longer the “exact set of domains”."

 

Das klärt zwar nicht die Ursache, aber es hilft dir erstmal zu einer Lösung. Vorausgesetzt, es funktioniert :-)

 

@pcasten

probier es doch bitte mal mit einem zusätzlichen Hostname. Gemäß dem, was ich gelesen habe, könnte dadurch die Meldung verschwinden, da es nicht mehr exakt die Kombination der Subdomains ist, für die zu viele Anfragen gestellt wurden.

 


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
10. März 2020 16:16  

Hi Mathias,

nochmal vielen Dank!

Ich habe das Skript entsprechend "erweitert":

$DetermineExchangeFQDNs = $false

# If you have set $DetermineExchangeFQDNs to $false, you have to specify
# your own FQDNs here. The first FQDN in the list will be used as
# Common Name (CN). Leave this setting as is it, if you have set
# $DetermineExchangeFQDNs = $true:

$CustomFQDNs = @("mail.XXXXX.de","autodiscover.XXXXX.de","exchange.XXXXX.de")

 

Hier das LOG beim test:

TimeStamp;ScriptSection;Type;Message;ErrorDetails
10.03.2020 16:00:23;System;Info;Geting system parameters;
10.03.2020 16:00:23;System;Info;Certificate Assistant Exchange 2019 Version;
10.03.2020 16:00:23;System;Info;PowerShell Version: 5.1.17763.1007 OSVersion: 10.0.17763.0;
10.03.2020 16:00:23;Check Posh-ACME;Info;Check if Module installed;
10.03.2020 16:00:23;Load Posh-ACME;Info;Posh-ACME is installed, try to load it;
10.03.2020 16:00:24;Load Posh-ACME;Info;Module Import was successfull, PoshACMEVersion 3.12.0;
10.03.2020 16:00:24;Load Exchange SnapIns;Info;Try to load Exchange SnapIns;
10.03.2020 16:00:25;Load Exchange SnapIns;Info;Sucessfully loaded Exchange SnapIns;
10.03.2020 16:00:25;IIS;Info;Trying to create .Well-Known Directory;
10.03.2020 16:00:25;IIS;Info;Well-Known Folder already exists, skipping;
10.03.2020 16:00:26;IIS;Info;Added Mime Type to Well-Known Folder;
10.03.2020 16:00:27;IIS;Info;Changing Let's Encrypt IIS directory to http;
10.03.2020 16:00:28;IIS;Info;Successfully changed Let's Encrypt IIS directory to http;
10.03.2020 16:00:28;IIS;Info;Checking Let's Encrypt IIS directory to accept validation by http request;
10.03.2020 16:00:28;IIS;Info;.well-known directory accepts http;
10.03.2020 16:00:28;Custom FQDNs;Info;Using Custom FQDNs is configured;
10.03.2020 16:00:28;LE System;Info;Setting LE Mode;
10.03.2020 16:00:28;LE System;Info;Setting LE Mode to PRODUCTION MODE (LIVE SYSTEM);
10.03.2020 16:00:28;LE System;Info;Checking for existing LE Account;
10.03.2020 16:00:28;LE System;Info;Found a existing LE Account;
10.03.2020 16:00:28;LE Certificate;Info;Trying to create a new order for a certificate;
10.03.2020 16:00:31;LE Certificate;Info;Successfully ordered certificate;
10.03.2020 16:00:31;LE System;Info;Creating Autorisation files for LE verification;
10.03.2020 16:00:32;LE System;Info;Asking LE to verify the order;
10.03.2020 16:00:33;LE System;Info;Successfully informed LE to verify the order;
10.03.2020 16:00:33;LE System;INFO;Let's give LE some time to validate (1 min);1 min
10.03.2020 16:01:33;LE System;INFO;Time to wake up, need coffee!;
10.03.2020 16:01:33;LE System;INFO;Let's check the authorization;
10.03.2020 16:01:34;LE System;INFO;Authorization for mail.XXXX.de is valid;
10.03.2020 16:01:34;LE System;INFO;Authorization for autodiscover.XXXX.de is valid;
10.03.2020 16:01:34;LE System;INFO;Authorization for exchange.XXXX.de is valid;
10.03.2020 16:01:34;LE System;INFO;Let's refresh the order;
10.03.2020 16:01:35;LE System;INFO;Let's check if order is ready;
10.03.2020 16:01:35;LE System;INFO;Order is ready;
10.03.2020 16:01:35;LE System;INFO;Let's get the certificate;
10.03.2020 16:01:39;LE System;INFO;Getting certificate was successfull. Thumbprint is 6CAEA422CD042D342B9B21A6A108EDC3FC41980D;
10.03.2020 16:01:39;LE System;INFO;Let's check if the PFX is present;
10.03.2020 16:01:39;Cert Export;Info;PFX 6CAEA422CD042D342B9B21A6A108EDC3FC41980D verified successfully;
10.03.2020 16:01:39;LE System;INFO;CleanUp Mime Type;
10.03.2020 16:01:39;LE System;INFO;CleanUp successfull;
10.03.2020 16:01:39;Exchange;Info;Lets try to enable certificate for Exchange Server;
10.03.2020 16:01:43;Exchange;Info;Exchange Server Version: Version 15.2 (Build 464.5);
10.03.2020 16:01:43;Exchange;Error;Failed to import and enable Certificate;Das Argument kann nicht an den Parameter "String" gebunden werden, da es sich um eine leere Zeichenfolge handelt.
10.03.2020 16:01:43;SendMail;Info;Try to send email with logfile;
10.03.2020 16:01:43;SendMail;Info;E-Mail send successfully initiated;
10.03.2020 16:01:43;End;Info;End of script;

 

Unterm Strich leider genau das gleiche ? 

Ich finde auf dem Server auch nirgends eine Datei mit dem Fingerprint 6CAEA422CD042D342B9B21A6A108EDC3FC41980D!?

Ich verstehe aber auch nicht das LOG!?

10.03.2020 16:01:39;LE System;INFO;Getting certificate was successfull. Thumbprint is 6CAEA422CD042D342B9B21A6A108EDC3FC41980D;
10.03.2020 16:01:39;LE System;INFO;Let's check if the PFX is present;
10.03.2020 16:01:39;Cert Export;Info;PFX 6CAEA422CD042D342B9B21A6A108EDC3FC41980D verified successfully;

wie kann das jeweils erfolgreich sein, wenn dann doch nichts da ist?!?

Hier der Teil im Skript:

#Verify if PFX is present
Write-ACMELog "LE System" "INFO" "Let's check if the PFX is present"
$Certpath = (Get-PACertificate | where {$_.Thumbprint -eq $LECertThumbprint}).PfxFile
if (test-path $CertPath)
{
Write-ACMELog "Cert Export" "Info" "PFX $LECertThumbprint verified successfully"

Wo legt er das eigentlich hin? Doch im gleichen Verzeichnis oder? Dort werden nur die jeweiligen LOGs abgelegt?!?

Gruß

Per

 


AntwortZitat
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
10. März 2020 16:21  

@pcasten

%LocalAppData%\Posh-ACME\acme-v02.api.letsencrypt.org\

dort liegt bei mir in weiteren Unterordnern das PFX

 

Und wenn du jetzt "Get-ExchangeCertificate | fl Thumbprint,Issuer,Subject,CertificateDomains,Services,NotBefore,NotAfter" ausführst, siehst du dann 6CAEA422CD042D342B9B21A6A108EDC3FC41980D ?


AntwortZitat
(@pcasten)
Active Member
Beigetreten: 3 Monaten zuvor
Beiträge: 9
10. März 2020 16:23  

Du glaubst es nicht!!!! Ich habe den Fehler gefunden!!!

Ich hatte im Zertifikats Passwort ein $ Zeichen!!!

Also hier: $PFXPasswort = "xxxx"  

Und das mag das Skript wohl überhaupt nicht!?!?

Das PFX Zertifikat wird aber nicht als Datei abgelegt!?

Nochmals vielen DANK!!! War schon drauf und dran mir ein offizielles Zertifikat zu kaufen...

Per


Mathias gefällt das
AntwortZitat
(@mathias)
Eminent Member
Beigetreten: 8 Monaten zuvor
Beiträge: 34
10. März 2020 16:26  

@pcasten

Schön, das es noch rechtzeitig geklappt hat.

Ich kann mir vorstellen, dass das $ dann irgendwo weiter innerhalb des Scripts als Variable bewertet wird und es dadurch zum Fehler kommt.

Interessant ist dann jedoch die Rückmeldung von Let's Encrypt, Stichwort "rate limit".


AntwortZitat
Share: