Kürzlich hatte ich bei einem Kunden das Problem, dass ich ein neues Zertifikat für SMTP aktivieren wollte – und dies schlug fehl, egal, was ich auch anstellte. Der Befehl geht durch, es gibt keinen Fehler, aber das Binding bleibt, wie es war.
Im Eventlog tauchte von Zeit zu Zeit diese Meldung auf:

Microsoft Exchange could not load the certificate with thumbprint of XXX from the personal store on the local computer. This certificate was configured for authentication with other Exchange servers. Mail flow to other Exchange servers could be affected by this error. If the certificate with this thumbprint still exists in the personal store, run Enable-ExchangeCertificate XXX -Services SMTP to resolve the issue. If the certificate does not exist in the personal store, restore it from backup by using the Import-ExchangeCertificate cmdlet, or create a new certificate for the FQDN or the server enabled for SMTP by running the following command: New-ExchangeCertificate -DomainName serverfqdn -Services SMTP. Meanwhile, the certificate with thumbprint AE5AC6B86F65DE14BAC2EEF4D9168B74D503C634 is being used.
Im Hybrid Wizard konnte ich das neue Zertifikat aber ohne Probleme wählen und er lief ohne zu Murren durch – Nur änderte das nichts. Exchange nutzte wie oben beschrieben ein anderes verfügbares Zertifikat für TLS. Dadurch zerbrach aber die Kommunikation zwischen Onprem und Cloud!
Man sieht nichts im Log (nur, dass Exchange das falsche Cert benutzt, in meinem Fall AE5AC6B86F65DE14BAC2EEF4D9168B74D503C634)

Im Message tracking von Exchange Online kam es zu Loops und nicht zugestellten Mails… was tun?
Die Lösung war tatsächlich, das Zertifikat mit Exchange-Mitteln zu importieren. Vermutlich wurde es ursprünglich über die MMC gemacht, aber für Exchange ist das keine gute Idee.
Im konkreten Fall war zudem das originale PFX nicht verfügbar, weshalb ich es kurzerhand exportiert, gelöscht und dann reimportiert habe. Den entscheidenden Tipp dazu habe ich hier gefunden.
$bincert = Export-ExchangeCertificate -BinaryEncoded -Thumbprint XXX -Password (Get-Credential).password
[System.IO.File]::WriteAllBytes('C:\temp\pfx2024-2.pfx', $bincert.FileData)
# Delete the certificate from your computer
del cert:\localmachine\my\XXX
Import-ExchangeCertificate -Server EX02 -FileData ([System.IO.File]::ReadAllBytes('C:\temp\pfx2024-2.pfx')) -Password (Get-Credential).password
Anschließend ist SMTP noch nicht assigned. Das holt man dann nach (UI oder Powershell) und alles läuft wieder wunderbar.

von