Was ist ein ECC Zertifikat?
Die Abkürzung ECC steht für Elliptic Curve Cryptography und kommt aus dem Bereich der Kryptographie. ECC wird mittlerweile als Nachfolger von RSA gesehen und findet immer mehr Verbreitung. Jetzt unterstützt nun auch Microsoft mit dem letztem April Hotfix Update ECC-Zertifikate für Exchange Server. Das hat mich sehr gefreut, denn ich verwende für meine Testumgebung Nginx-Reverse-Proxy mit Letsencrypt Zertifikaten. Der Standard wurde hier seit längerer Zeit bereits auf ECC umgestellt. Der Import des Zertifikats ist hier zuvor kläglich gescheitert (reason: KeyAlgorithmUnsupported), sodass ich für den Exchange Hybrid SecureMail Transport ein dediziertes RSA-Letsencrypt-Zertifikat ausstellen musste:
Enable-ExchangeCertificate : A special Rpc error occurs on server HZ-EX01: The certificate with thumbprint
4EBED1486BFAFAD522B3F7C3490C21A2D8FD8A7D was found but is not valid for use with Exchange Server (reason: KeyAlgorithmUnsupported).
At line:1 char:1
+ Enable-ExchangeCertificate -ThumbPrint "4EBED1486BFAFAD522B3F7C3490C2 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Enable-ExchangeCertificate], InvalidOperationException
+ FullyQualifiedErrorId : [Server=HZ-EX01,RequestId=27f438ca-0cdf-4cd7-ae53-52cd54dd79da,TimeStamp=30.08.2023 21:41:13] [FailureCateg
ory=Cmdlet-InvalidOperationException] D9A4B0C8,Microsoft.Exchange.Management.SystemConfigurationTasks.EnableExchangeCertificate
Was ist so besonders an ECC Zertifikate?
- Empfohlene Schlüssellänge von RSA Zertifikaten steigt leider stetig an, um eine starke Verschlüsselung zu garantieren
- Wie RSA ist ECC eine asymmetrische Algorithmen
- es wird immer mit einem öffentlichem (Verschlüsseln) und privatem Schlüssel (entschlüsseln) gearbeitet
- ECC Zertifikate sind in der Regel von der Schlüssellänge kürzer und bieten dennoch dieselbe Verschlüsselungsstärke
- dadurch ergibt sich mehr Performance (z.B. schnellere Ladezeiten beim SSL Handshake ), Sicherheit und eignet sich insbesondere auf für kleinere Geräte wie der Raspberry Pi sehr gut, da z.B. hier geringere Rechenleistung vorliegt
- Ein ECC-Schlüssel von 256 Bits entspricht der Verschlüsselungsstärke von 3072-Bits eines RSA Schlüssels
Einschränkungen von ECC Support
The following scenarios do not currently support the use of ECC certificates. We are working on an update to support these scenarios in the future:
- You can’t assign ECC certificates on Edge Transport Server role
- The Federation Trust certificate must be an RSA certificate
- The Exchange Server OAuth certificate must be an RSA certificate
- ECC certificates can’t be used when Use AD FS claims-based authentication is configured
https://learn.microsoft.com/en-us/exchange/architecture/client-access/certificates?view=exchserver-2019#elliptic-curve-cryptography-certificates-support-in-exchange-server
ECC Zertifikat auf Exchange importieren
#import certificate
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path C:\install\FULL-CHAIN.pfx -Encoding byte -ReadCount 0)) -Password:(Get-Credential).password
#enable certificate
Enable-ExchangeCertificate -ThumbPrint "2FFD4AFBEB4A34A9BD23DD4DE14D2B1C1021DA83" -Services "IIS,SMTP,IMAP,POP"
ECC Support auf Exchange aktivieren
#enable feature
New-SettingOverride -Name "ECC Support" -Parameters @("Enabled=true") -Component "Global" -Reason "Support ECC" -Section "ECCCertificateSupport"
Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh
Restart-Service -Name W3SVC, WAS -Force
#to disable feature
Get-SettingOverride | where name -eq "ECC Support" | Set-SettingOverride -Parameters @("Enabled=true")
Verbindungsinformationen
#check settings
Get-SettingOverride | where name -eq "ECC Support"
Überprüfung des Zertifikats im Browser
Aussteller:
Öffentlicher Schlüssel Algorithmus