Hallo zusammen,
ich stehe gerade ein bisschen auf dem Schlauch. Ich muss für unseren Exchange 2019 das Zertifikat verlängern, das kommt von einer öffentlichen CA (DigiCert). Für die Erneuerung muss ich aber auch einen neuen CSR erstellen. Wenn ich jetzt aber über die Exchange Shell einen neuen CSR erstelle und mir den mal dekodiere dann sehe ich dort als Signature Algorithm "sha1WithRSAEncryption". In dem aktuell aktiven Zertifikat ist das aber "sha256WithRSAEncryption", was ja auch deutlich sinnvoller klingt. Nur finde ich in der MS-Anleitung für die Request Erstellung keinen Schalter, um den anzupassen.
Ich habe zum Erstellen des Requests die folgenden Kommandos verwendet (natürlich anonymisiert)
$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "exchange2023" -SubjectName "C=DE,L=Stadt,O=Firma,CN=mail.domäne.com" -DomainName mail.domäne.com,autodiscover.domäne.com,exchange.domäne.com,legacy.domäne.com, [System.IO.File]::WriteAllBytes('\\Fileserver\exchange2023.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
Ich habe das mit dem alten CSR verglichen, da steht korrekt "sha256WithRSAEncryption", allerdings wurde der damals nicht mit der Exchange Shell erstellt, sondern vermutlich mit der MMC.
Hat da einer von euch eine schlaue Idee, was da in meinem Kommando fehlt oder wird das bei der CA eventuell sogar automatisch angepasst? Will da halt nichts falsch machen, das wäre sonst arg teuer.
Danke schon mal im Voraus.
Hi zusammen,
bin ich echt der einzige, der über dieses Verhalten stolpert? Keiner eine Idee?
Hi,
bin eher der grafische Typ. Ich würde das mittels IIS anlegen und dort das CSR erstellen bzw. beim bestehenden Zertifikat auf verlängern gehen und dann krigst du daraus das CSR. Falls das aber alt ist wegen der Verschlüsselung, dann eben dort neu erstellen, da kannst du es in der grafischen Umgebung auswählen, wenn es auszuwählen ist.
Oder hast du das schon probiert?
Lg, Roman
Hi Roman,
DigiCert rät davon ab, die Funktion "Verlängern" für die Erstellung des CSR zu verwenden, man soll einen neuen erstellen. Über den IIS habe ich das nicht probiert, früher habe ich den CSR halt über das ECP gemacht, aber das geht ja inzwischen nicht mehr. Theoretisch kann ich das auch über die MMC machen, da kenne ich den Ablauf und da kann man auch den Signature Algorithm auswählen. Aber MS selbst gibt ja vor, dass man das ganze Zertifikat-Thema per Exchange PowerShell cmdlets bearbeiten soll. Daher wollte ich das auch so machen und da kann ich zwar die Keylength mitgeben, aber halt nicht SHA256, er nimmt immer SHA1. Mir wäre das auch gar nicht aufgefallen, wenn ich den CSR anschließend nicht nochmal kontrolliert hätte wegen der Hostnamen im SAN.
Hast du denn mal in deiner Umgebung getestet, ob er bei dir mit den von MS genannten Kommandos, die ich oben gepostet habe, auch ein CSR mit SHA1 erstellt? Weil dann wäre das ja ein grundsätzliches Thema mit den cmdlets.
Unabhängig davon hat mir zwischenzeitlich auch der Digicert Support geantwortet, lt. deren Aussage erzeugen die immer Zertis mit SHA256, daher scheint das wohl eher kein Problem zu werden. Ich will halt nur sicher gehen, das Zertifikat bei denen ist nicht gerade günstig.
Für die Erneuerung muss ich aber auch einen neuen CSR erstellen.
Müssen muss man das nicht. Man kann auch den alten csr wieder einreichen, dann bleibt halt der private key identisch. Die empfehlen nur einen neuen, weil die key-Zuordnung in Windows eben nur per Certutil geht. Damit kommt nicht jeder klar vermute ich.
ansonsten, welchen patchstand hat denn dein exchange 2019? Ich hatte da noch nie Probleme mit dem sha256. Sogar exchange 2016 erstellt inzwischen korrekt mit sha256.
Dein Befehl oben sieht nach technet aus. Ich nehm fast immer das hier und Probleme gibts da keine. Nur der Befehl ist deutlich kürzer. ;)
https://www.digicert.com/easy-csr/exchange2010.htm (Nicht vom 2010 irritieren lassen)
Ich will halt nur sicher gehen, das Zertifikat bei denen ist nicht gerade günstig.
Was verlangen die denn? Ansonsten schau halt mal bei anderen Anbieter, wie bspw. Psw. Da gibts deutschsprachigen Support und Kauf auf Rechnung. Ist deutlich angenehmer als vieles andere.
Hallo Norbert,
der Exchange ist 2019 CU 12 mit SU vom Januar 2023 (das Februar SU habe ich wegen der bekannten Probleme mit EWS & Co noch nicht eingespielt). Daher wundert mich das, dass im CSR SHA1 steht. Ich finde bei Google auch nicht wirklich was dazu. Alles was ich finde ist entweder veraltet (also Anleitung über ECP, was ja nicht mehr geht) oder sagt sinngemäß "Erstell den mit den Befehlen den CSR und lade den bei uns hoch". Die Kommandos sind direkt von der MS Dokuseite: https://learn.microsoft.com/en-us/exchange/architecture/client-access/create-ca-certificate-requests?view=exchserver-2019
Im Zweifel mache ich es per MMC, so haben wir es beim letzten Mal gemacht, nur das wir das Zertifikat da nur in der Firewall drin hatten und im Exchange ein internes. Das habe ich wegen Extended Protection erst letztens geändert. Und ich wollte es halt jetzt wie von MS "gewünscht" mit der Exchange Shell machen und mir das "Gewurschtel" mit dem CertUtil diesmal sparen.
Was verlangen die denn?
Das ist ein SAN Zertifikat mit 5 Hostnamen, das kostet bei denen so um die 1000$ für ein Jahr. Wenn man mehrere Jahre macht wird es pro Jahr billiger, aber es wird natürlich direkt die ganze Summe fällig.
Was mir gerade aufgefallen ist: Das Back-End Zertifikat, dass der Exchange sich bei der Installation selbst ausgestellt hat, ist noch ein SHA1 (und läuft noch bis 2025). Kann das damit zu tun haben, dass er bei neuen CSR den mit SHA1 ausstellt? Oder ist das davon unbetroffen, weil das mach ja eigentlich was ganz anderes.
Das ist ein SAN Zertifikat mit 5 Hostnamen, das kostet bei denen so um die 1000$ für ein Jahr.
Eindeutig zuviel, oder ist das organisationsvalidiert usw.? Ich mach mal Werbung (und nein ich verdiene daran nichts): https://www.psw-group.de/ssl-zertifikate/multidomain-ssl-zertifikate/
Was mir gerade aufgefallen ist: Das Back-End Zertifikat, dass der Exchange sich bei der Installation selbst ausgestellt hat, ist noch ein SHA1 (und läuft noch bis 2025). Kann das damit zu tun haben, dass er bei neuen CSR den mit SHA1 ausstellt? Oder ist das davon unbetroffen, weil das mach ja eigentlich was ganz anderes.
Im Zweifel erstell das doch neu, das sollte er dir korrekt mit Sha256 erstellen.
Bye
Norbert
PSW kenne ich, über die haben wir unser ADFS-Zertifikat laufen. Aber ich entscheide nicht, wo der Krams gekauft wird, ich muss es nur technisch umsetzen.
Dein Befehl oben sieht nach technet aus. Ich nehm fast immer das hier und Probleme gibts da keine. Nur der Befehl ist deutlich kürzer. ;)
https://www.digicert.com/easy-csr/exchange2010.htm (Nicht vom 2010 irritieren lassen)
Habe es vorhin damit auch noch mal gemacht, auch mit den Kommandos aus dem Tool spuckt er am Ende im CSR als "Signature Algorithm" "sha1WithRSAEncryption" aus. Hast du bei dir denn spaßeshalber mal den CSR der aus dem Kommando rauskommt dekodiert und da steht wirklich SHA256 drin? Weil entweder ist auf meinem Exchange irgendwas besonders, oder es interessiert nicht mehr wirklich, weil die CAs eh nur noch SHA256 Zertifikate ausstellen und den Teil vom CSR einfach ignorieren.
Ich hatte auch beim Googlen noch mal einen recht alten Artikel gefunden, der war aber für Exchange 2013 und beschreibt genau mein Verhalten, also das der CSR immer mit SHA1 erstellt wird. Lösung dort war: Ignorieren und beim einreichen in die öffentliche CA drauf achten, dass dort SHA256 bestellt wird.
Im Zweifel erstell das doch neu, das sollte er dir korrekt mit Sha256 erstellen.
Das werde ich in jedem Fall mal machen, Frank hat dafür ja erst neulich ein Skript veröffentlicht.
Habe es vorhin damit auch noch mal gemacht, auch mit den Kommandos aus dem Tool spuckt er am Ende im CSR als "Signature Algorithm" "sha1WithRSAEncryption" aus. Hast du bei dir denn spaßeshalber mal den CSR der aus dem Kommando rauskommt dekodiert und da steht wirklich SHA256 drin?
Grad nachgeschaut. Nein da steht sha1WithRSAEncryption. Am Ende ist das aber egal, weil das Zertifikat, was du erhältst dann sha256 signiert ist. Der CSR ist in dem Sinne dann egal. Hab ich mir noch nie nen Kopf drüber zerbrochen.
PSW kenne ich, über die haben wir unser ADFS-Zertifikat laufen. Aber ich entscheide nicht, wo der Krams gekauft wird, ich muss es nur technisch umsetzen.
Ist ja nicht mein Geld. :)
Grad nachgeschaut. Nein da steht sha1WithRSAEncryption. Am Ende ist das aber egal, weil das Zertifikat, was du erhältst dann sha256 signiert ist. Der CSR ist in dem Sinne dann egal. Hab ich mir noch nie nen Kopf drüber zerbrochen.
OK, dann ist es genau wie bei mir auch und der Exchange macht das immer so und ich kann das ignorieren. Wäre mir auch wie gesagt nicht aufgefallen, wenn ich den CSR wegen der Hostnamen nicht nochmal kontrolliert hätte.
Danke fürs Nachsehen und fürs "mich beruhigen". 😊
Wie gesagt, die zwei Alternativen hast du ja. Ob du den CSR nun mit Exchange PS erstellst oder mit irgendwas anderem ist egal.