Exchange Server: SSL-Zertifikat erneuern und zuweisen
Exchange-Zertifikat erneuern: PFX mit Import-ExchangeCertificate importieren, IIS, SMTP, POP und IMAP zuweisen, Connectoren anpassen und jedes Protokoll prüfen.
Exchange Server hat keine einzelne, allgemeine TLS-Bindung. IIS schützt die HTTP-Clientdienste, der Transportdienst wählt Zertifikate für SMTP und STARTTLS aus, und POP und IMAP haben eigene Protokolleinstellungen. Ein sicherer Zertifikatstausch prüft deshalb jeden Dienst einzeln, bevor das alte Zertifikat entfernt wird.
Die Anleitung gilt für die unterstützten lokalen Versionen Exchange Server 2016, 2019 und Subscription Edition. Führen Sie sie auf jedem Exchange-Server aus, der das jeweilige Protokoll bedient.
Voraussetzungen
- Verwenden Sie die Exchange-Verwaltungsshell mit den nötigen Client-Access-Rechten.
- Besorgen Sie eine PFX-Datei mit privatem Schlüssel und vollständiger Zertifikatskette. Die SANs müssen die HTTP-Namespaces sowie alle SMTP-, POP- und IMAP-FQDNs abdecken, die das Zertifikat verwenden sollen.
- Notieren Sie den alten Fingerabdruck (Thumbprint), die Dienstzuweisungen, die
TlsCertificateName-Werte der Empfangs- und Sendeconnectoren, die X509-Namen für POP/IMAP und die Mitglieder im Load-Balancer-Pool. - Prüfen Sie, ob POP/IMAP überhaupt aktiviert sind, bevor Sie einen Neustart einplanen - in einer Standardinstallation sind beide deaktiviert.
- In einer Exchange-Hybridbereitstellung notieren Sie das im Hybrid Configuration Wizard gewählte Zertifikat und planen die Anpassung der Hybrid-Connectoren ein.
Wie Exchange Zertifikate verwendet
| Dienst | Was die Zuweisung betrifft |
|---|---|
| IIS | Outlook im Web, EAC, EWS, ActiveSync, Autodiscover, OAB, MAPI/HTTP, Outlook Anywhere und Remote-PowerShell auf der Default Web Site. |
| SMTP | STARTTLS, Mutual TLS und Transportverbindungen. Empfangs- und Sendeconnectoren können ein Zertifikat über Aussteller und Antragsteller in TlsCertificateName festlegen. |
| POP | POP3 mit TLS. Der angekündigte FQDN muss zum Zertifikat passen; Microsoft rät davon ab, POP ein Wildcard-Zertifikat zuzuweisen. |
| IMAP | IMAP4 mit TLS, mit derselben FQDN-Anforderung; auch hier rät Microsoft von Wildcard-Zertifikaten ab. |
Das selbstsignierte Standard-SMTP-Zertifikat von Exchange schützt auch den internen Transport. Wenn Sie ein öffentliches Zertifikat für SMTP aktivieren, fragt Exchange eventuell, ob die Standardzuweisung ersetzt werden soll. Beantworten Sie das nicht automatisch mit Ja: öffentliches bzw. Hybrid-SMTP und der interne Exchange-Transport sind zwei verschiedene Dinge.
Zertifikat Schritt für Schritt austauschen
Einzelserver, kein Hybrid, kein POP/IMAP: Sie brauchen nur die Schritte 1-4 und 8. Schritt 5 gilt nur, wenn ein Connector ein Zertifikat festlegt, Schritt 6 nur bei aktivem POP oder IMAP, Schritt 7 nur nach Connector-Änderungen.
-
Bestandsaufnahme der aktuellen Konfiguration:
Get-ExchangeCertificate | Format-List FriendlyName,Subject,Issuer,CertificateDomains,Thumbprint,Services,NotAfter Get-ReceiveConnector | Format-List Identity,Fqdn,TlsCertificateName Get-SendConnector | Format-List Identity,Fqdn,TlsCertificateName Get-PopSettings | Format-List X509CertificateName Get-ImapSettings | Format-List X509CertificateName -
PFX importieren. Aktuelle Exchange-PowerShell-Versionen erwarten die Datei als Byte-Array:
$password = Read-Host "PFX password" -AsSecureString $imported = Import-ExchangeCertificate ` -FileData ([System.IO.File]::ReadAllBytes("C:\secure\exchange.pfx")) ` -Password $password ` -PrivateKeyExportable $false $thumbprint = $imported.ThumbprintIm Exchange Admin Center geht der Import auch unter Server > Zertifikate, die Shell zeigt den resultierenden Fingerabdruck aber direkt an.
-
Nur die Dienste zuweisen, die auf diesem Server genutzt werden:
Enable-ExchangeCertificate -Thumbprint $thumbprint -Services IIS,SMTP,POP,IMAPDienstzuweisungen lassen sich einem Zertifikat hinzufügen, aber nicht entziehen. Einen Dienst zu verschieben heißt also: dem neuen Zertifikat zuweisen und das alte behalten oder später löschen.
-
Beim Aktivieren von SMTP fragt Exchange, ob das vorhandene Standard-SMTP-Zertifikat überschrieben werden soll. Antworten Sie in den meisten Umgebungen mit Nein (
N): Das selbstsignierte Standardzertifikat schützt weiterhin den internen Transport zwischen den Exchange-Servern, und das öffentliche Zertifikat wird trotzdem für externes STARTTLS verwendet. Antworten Sie nur mit Ja, wenn das öffentliche Zertifikat bewusst auch den internen Transport übernehmen soll. Ergebnis prüfen:Get-ExchangeCertificate -Thumbprint $thumbprint | Format-List Thumbprint,Services,Subject,CertificateDomains -
Connectoren anpassen, die ein Zertifikat über Aussteller und Antragsteller festlegen. Exchange verwendet in
TlsCertificateNamenicht den Fingerabdruck:$cert = Get-ExchangeCertificate -Thumbprint $thumbprint $tlsName = "<I>$($cert.Issuer)<S>$($cert.Subject)" Set-ReceiveConnector -Identity "<server>\<receive-connector>" -TlsCertificateName $tlsName Set-SendConnector -Identity "<send-connector>" -TlsCertificateName $tlsNameHat das erneuerte Zertifikat denselben Aussteller und Antragsteller, wählt Exchange unter Umständen automatisch das neueste gültige passende Zertifikat. Prüfen Sie trotzdem jeden Connector. Für den Hybrid-Mailfluss empfiehlt Microsoft, den Hybrid Configuration Wizard erneut auszuführen, wenn sich das Zertifikat ändert; die aktuelle Erneuerungsanleitung startet nach Connector-Änderungen außerdem
MSExchangeTransportneu. -
Wenn POP oder IMAP genutzt werden, muss der konfigurierte FQDN als SAN enthalten sein:
Set-PopSettings -X509CertificateName pop.example.com Set-ImapSettings -X509CertificateName imap.example.com Restart-Service MSExchangePOP3,MSExchangePOP3BE Restart-Service MSExchangeIMAP4,MSExchangeIMAP4BEStarten Sie nur die Protokollpaare neu, die aktiviert sind und geändert wurden. Der Frontend-Dienst leitet an den Backend-Dienst weiter, deshalb gehören beide dazu.
-
Bei Änderungen an SMTP-Connectoren den Transport im Wartungsfenster neu starten:
Restart-Service MSExchangeTransport Restart-Service MSExchangeFrontEndTransportGehen Sie Server für Server vor, damit die übrigen Transportknoten weiter Mail zustellen.
-
Für IIS nicht pauschal
iisresetausführen. Die Zertifikatszuweisung aktualisiert die IIS-Bindung selbst. Laut Microsoft kann ein Neustart nötig sein, wenn Exchange für das Authentifizierungs-Cookie von Outlook im Web weiter das alte Zertifikat verwendet, und bei Layer-4-Load-Balancing wird ein IIS-Neustart empfohlen. Trifft das zu, nehmen Sie den Knoten zuerst aus dem Pool und führen danniisresetaus; andernfalls prüfen Sie neue TLS-Handshakes, bevor Sie IIS komplett unterbrechen.
Produktspezifische Hinweise
Exchange-Zertifikate sind lokal pro Server. Eine Database Availability Group (DAG) repliziert weder die PFX-Datei noch die Dienstzuweisung. Aktualisieren und testen Sie einen Client-Access- bzw. Transportknoten nach dem anderen.
Die ECC-Unterstützung für Exchange 2016/2019 wurde mit den Updates vom April und November 2024 erweitert und ist standardmäßig hinter der dokumentierten Einstellung deaktiviert. Federation-Trust- und Exchange-OAuth-Zertifikate müssen weiterhin RSA sein, und ECC wird mit der anspruchsbasierten Authentifizierung über AD FS nicht unterstützt. Führen Sie ECC nicht im Rahmen einer Routine-Erneuerung ein, ohne die vollständig gepatchte Version und jeden Dienst geprüft zu haben.
Ein Edge-Transport-Server mit Edge-Abonnement hat zusätzliche Anforderungen: Microsoft beschreibt, dass das alte CA-Zertifikat entfernt und das Edge-Abonnement neu erstellt werden muss. Planen Sie das als eigene Änderung.
Neues Zertifikat prüfen
Erst die Zuweisung prüfen, dann den Netzwerk-Endpunkt:
Get-ExchangeCertificate -Thumbprint $thumbprint |
Format-List Subject,Issuer,CertificateDomains,Thumbprint,Services,NotAfter
Test-ServiceHealth # prüft, ob die nötigen Dienste laufen - nicht das Zertifikatopenssl s_client -connect mail.example.com:443 -servername mail.example.com </dev/null
openssl s_client -starttls smtp -connect mail.example.com:25 </dev/null
openssl s_client -starttls smtp -connect mail.example.com:587 </dev/null
openssl s_client -starttls imap -connect imap.example.com:143 </dev/null
openssl s_client -connect imap.example.com:993 -servername imap.example.com </dev/null
openssl s_client -starttls pop3 -connect pop.example.com:110 </dev/null
openssl s_client -connect pop.example.com:995 -servername pop.example.com </dev/nullFühren Sie nur die Zeilen für genutzte Protokolle aus; jede muss das neue Zertifikat
zeigen. Testen Sie außerdem Autodiscover, Outlook im Web und den Hybrid-Mailfluss.
Scheitert nach der Änderung die Anmeldung an Outlook im Web, ist das der Fall aus
Schritt 8 - führen Sie auf dem aus dem Pool genommenen Server iisreset aus. Für eine umfassendere Prüfung nach der Änderung führen Sie den
Microsoft Exchange Health Checker gemäß seiner aktuellen Anleitung aus.
Rollback
Weisen Sie den betroffenen Diensten den alten Fingerabdruck wieder zu, stellen Sie die
TlsCertificateName-Werte der Connectoren wieder her, starten Sie nur die betroffenen
Protokolldienste neu und nehmen Sie den Knoten nach erfolgreichen Netzwerktests wieder
in den Pool. Weil sich Zuweisungen nicht entfernen lassen, ist ein Rollback nur möglich,
solange das alte Zertifikat noch installiert und gültig ist.
Altes Zertifikat entfernen
Entfernen Sie das alte Zertifikat, sobald Get-ExchangeCertificate die Dienste auf dem
neuen zeigt, kein Connector mehr auf das alte verweist, jeder Protokolltest bestanden
ist und - bei Hybrid - der Hybrid Configuration Wizard mit dem neuen Zertifikat erneut
ausgeführt wurde:
Remove-ExchangeCertificate -Thumbprint <alter-fingerabdruck>Häufige Probleme
- Die PFX-Datei enthält keinen privaten Schlüssel oder wurde auf einem anderen Exchange-Server importiert.
- IIS funktioniert, aber SMTP wählt über den alten Aussteller/Antragsteller eines Connectors noch das alte Zertifikat.
- Das öffentliche SMTP-Zertifikat hat versehentlich das interne Standardzertifikat ersetzt.
- POP/IMAP nutzen einen FQDN, der nicht im SAN steht, oder ein Frontend/Backend-Paar wurde nicht neu gestartet.
- Das alte Zertifikat wird gelöscht, bevor Hybrid-, Edge-, Empfangs- und Sendeconnector-Abhängigkeiten geprüft wurden.
- Nur ein Knoten hinter dem Load Balancer wurde aktualisiert.
Zertifikatstausch mit aethercert automatisieren
Das aethercert-Deployment-Ziel für Exchange führt den Zertifikatsimport von Exchange
aus und weist auf dem lokalen Server die gewählten Dienste IIS, SMTP, POP und IMAP zu.
Connector-spezifische TlsCertificateName-Werte, die Hybrid-Konfiguration und
umgebungsspezifische Wartungsentscheidungen müssen Sie weiterhin selbst prüfen, wo sie
zutreffen.
Unter Deployment-Ziele finden Sie die Felder dieser Vorlage, die Voraussetzungen auf dem Host und den Stand der Verifizierung.
Quellen
- Microsoft Learn: Zertifikat auf Exchange Server importieren
- Microsoft Learn: Zertifikate Exchange-Diensten zuweisen
- Microsoft Learn: Exchange-Zertifikate und ECC-Unterstützung
- Microsoft Learn: Zertifikatauswahl für eingehendes STARTTLS
- Microsoft Learn: Zertifikate in einer Exchange-Hybridbereitstellung erneuern
Microsoft IIS
SSL-Zertifikat im IIS austauschen: PFX mit Import-PfxCertificate importieren, HTTPS- und SNI-Bindungen umstellen, HTTP.sys verstehen und das Ergebnis prüfen.
Microsoft AD FS
AD-FS-Zertifikat austauschen mit Set-AdfsSslCertificate und Set-AdfsAlternateTlsClientBinding, WAP aktualisieren, Schlüsselzugriff prüfen und die Farm verifizieren.