Exchange Zertifikat Fehler: Kein Parameter für ‚FileName‘ gefunden

Exchange Zertifikat Fehler: Kein Parameter für ‚FileName‘ gefunden
CC @ Microsoft (Exchange)

Die Verwaltung von Zertifikaten in Microsoft Exchange Server wurde in den letzten Jahren durch gezielte Änderungen in kumulativen Updates (CU) grundlegend überarbeitet. Besonders im Zuge von Vorbereitungen auf Exchange Server Subscription Edition (SE) und den damit verbundenen Migrationen auf Exchange Server 2019 begegnen Administratoren vermehrt einem spezifischen Fehler beim Zertifikatsimport:

Es wurde kein Parameter gefunden, der dem Parameternamen "FileName" entspricht.

Warum dieser Fehler auftritt

Ab Exchange Server 2016 CU23 und Exchange Server 2019 CU12 wurde die Nutzung von UNC-Pfaden („Universal Naming Convention“) für Zertifikatsoperationen entfernt. Diese Änderung ist Teil von Microsofts Bemühungen, Sicherheitsrisiken durch potenziell unsichere Pfade zu reduzieren.

Wie der Zertifikatsimport bisher funktioniert hat

Vor den genannten Updates konnten Zertifikate unkompliziert mit dem folgenden Befehl importiert werden:

Import-ExchangeCertificate -FileName "\\server\share\certificate.pfx" -Password (ConvertTo-SecureString -String "password" -AsPlainText -Force)

Hierbei wurde die Zertifikatsdatei über einen Netzwerkpfad (UNC-Pfad) bereitgestellt. Dies war praktisch, aber auch anfällig für Angriffe.

Die neue Methode: So funktioniert es jetzt

Mit den Updates wurde der Parameter FileName entfernt. Stattdessen müssen Zertifikate über den Parameter FileData als Byte-Array importiert werden. Ein Beispiel für den neuen Ansatz:

Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path "C:\path\certificate.pfx" -Encoding byte)) -Password (ConvertTo-SecureString -String "password" -AsPlainText -Force)

Weitere Anpassungen bei Exchange-Zertifikaten

Nicht nur der Import, sondern auch andere Operationen wurden angepasst sondern auch bei der Erstellung von Zertifikatsanforderungen. Auch hier wurde die Nutzung von UNC-Pfaden entfernt. Der neue Ansatz sieht vor, dass Anforderungen lokal erstellt und gespeichert werden:

$request = New-ExchangeCertificate -GenerateRequest -SubjectName "CN=example.com" -DomainName "example.com,www.example.com"
Set-Content -Path "C:\path\request.req" -Value $request

Export von Zertifikaten:
Anstatt direkt eine Datei zu exportieren, wird das Zertifikat nun als Byte-Array exportiert und anschließend lokal gespeichert:

$cert = Export-ExchangeCertificate -Thumbprint <Thumbprint> -Password (ConvertTo-SecureString -String "password" -AsPlainText -Force) -BinaryEncoded
Set-Content -Path "C:\path\certificate.pfx" -Value $cert.FileData -Encoding byte

Warum diese Änderungen wichtig sind

Microsoft möchte mit diesen Anpassungen die Sicherheit von Exchange Server verbessern. Netzwerkpfade waren ein Schwachpunkt, da sie potenziell von Angreifern ausgenutzt werden konnten. Durch die Einschränkung auf lokale Pfade und Byte-Arrays wird das Risiko deutlich reduziert.

Changes in Exchange Server PowerShell cmdlets and Exchange Admin Center for UNC path inputs (KB5014278) - Microsoft Support

Weiterlesen

Datenschutz und Informationssicherheit in der Cloud mit Microsoft 365

Datenschutz und Informationssicherheit in der Cloud mit Microsoft 365

Unternehmen in der EU und der Schweiz, die Microsoft 365 nutzen, müssen besonders hohe Standards für Datenschutz und Datensicherheit einhalten. Wenn sensible personenbezogene Daten verarbeitet werden, ist es entscheidend, dass Cloud-Dienste die strengen Anforderungen der DSGVO und nationaler Datenschutzgesetze erfüllen. Aber wie lässt sich Microsoft 365 datenschutzkonform und sicher betreiben?

Von Indeno GmbH