Neben Let’s Encrypt bietet auch StartSSL kostenlose SAN-Zertifikate für bis zu 5 Domains mit einer Laufzeit von 1 Jahr kosten los an. Die Zertifikate werden von allen gängigen Browsern und Geräten unterstützt.
Vorteil von StartSSL gegenüber Let’s Encrypt: Die Zertifikate sind 1 Jahr gültig, bei Let’s Encrypt sind es nur 3 Monate. Die Zertifikate müssen also nicht ganz so häufig getauscht werden.
StartSSL also offers a client that automatically configures the IIS and requests and installs the certificate. However, this method should be used with caution on Exchange servers. Simply binding the certificate to the IIS is not enough, it must also be stored in the Exchange configuration.
Ich rate also davon ab den Client zu benutzen. StartSSL bietet wie jede andere CA (Let’s Encrypt leider nicht) auch, die Möglichkeit einen CSR einzureichen und somit an das Zertifikat zu kommen. Ich finde die Variante via CSR immer noch am Besten, da man sich hier sicher sein kann, dass der private Schlüssel den Server nicht verlässt. Außerdem muss weder eine umständliche Firewall Anpassung (WAF) vorgenommen werden, noch verkonfiguriert ein Tool den IIS-Server.
Small Howto StartSSL SAN certificates and Exchange Server
An account with StartSSL is required (free of charge) so that certificates can be requested via CSR. An account can be created here:
Once the account has been created and the client certificate for logging in has been installed, you can log in with the account here:
Note: StartSSL requests a client certificate here, which is issued when the account is created. Users of firewalls with SSL inspection must therefore configure a corresponding exception.
Um an ein Zertifikat zu kommen, muss zunächst die Domain validiert werden. Domains können unter dem Punkt „Validation Wizard“ validiert werden:
in diesem Beispiel wird die Domain „frankysweb.com“ validiert, damit später ein Zertifikat mit den Namen „outlook.frankysweb.com“ und „autodiscover.frankysweb.com“ angefordert werden kann:
You can now select the e-mail address to which the code should be sent for verification:
Once the code has been entered, the domain is validated and a CSR can be generated on the Exchange server:
New-ExchangeCertificate –Server "Servername" –GenerateRequest –FriendlyName "Exchange Zertifikat" –PrivateKeyExportable $true –SubjectName "c=LÄNDERCODE, s=BUNDESLAND, l=STADT, o=FIRMA, ou=ORGANISATIONSEINHEIT, cn=ALLEGMEINERNAME" –DomainName outlook.frankysweb.de,autodiscover.frankysweb.de –RequestFile "\\SERVERNAME\C$\Anforderung.csr"
-Friendlyname is the display name of the certificate in ECP, the name is freely selectable
-SubjectName determines the properties of the certificate:
"c" stands for the country code, for example "DE"
"s" stands for the federal state
"o" stands for the company
"ou" stands for the organizational unit (IT, Exchange, EDP...)
"cn" stands for the common name, the common name should contain the FQDN for OWA
-DomainName: All alternative names for the certificate are entered here, as well as the general name, normally only Autodiscover and the access name for Outlook, OWA, ECP, ActiveSync etc. are required here, i.e. in this example:
outlook.frankysweb.com
autodiscover.frankysweb.com
-Requestfile: A share on which the request can be saved
Here is an example of my CSR:
New-ExchangeCertificate –Server "EX1" –GenerateRequest –FriendlyName "StartSSL Exchange Cert" –PrivateKeyExportable $true –SubjectName "c=DE, s=NRW, l=Liemke, o=FrankysWeb, ou=IT, cn=outlook.frankysweb.com" –DomainName outlook.frankysweb.com,autodiscover.frankysweb.com –RequestFile "\\EX1\C$\Anforderung.csr"
Hier wird der CSR auch direkt angezeigt, dieser kann jetzt bei StartSSL eingereicht werden. Dazu wird bei StartSSL der Punkt „Certificate Wizard“ und „Web Server SSL/TLS Certifikate“ ausgewählt
The domains and the CSR must then be entered:
Nach einem Klick auf „Submit“, kann im Anschluss das Zertifikat runtergeladen werden. Der Download besteht aus einem ZIP Archiv, in dem das Zertifikat in verschiedenen Formaten vorliegt:
IIS server is the right choice here. The IISServer folder contains the intermediate certificate (1_Intermediate) and the Exchange certificate (2_outlook.frankysweb.com)
First, the intermediate certificate is installed:
Now the Exchange certificate can be installed with the following command:
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\2_outlook.frankysweb.com.crt -Encoding byte -ReadCount 0))
After the certificate has been installed and the request has been completed, the Exchange services still need to be bound to the new certificate (this is the part that the tools unfortunately ignore):
Enable-ExchangeCertificate -Thumbprint "ThumbprintVomImport" -Services POP,IMAP,SMTP,IIS
Important: Set a reminder so that the certificate can be renewed in good time before it expires. Here is a simple Certificate management using Excel and PowerShell.
Update 11.01.17: Apple hat die StartSSL und Woosign aus den vertrauenswürdigen CAs entfernt. Somit lassen sich diese Zertifikate nicht mehr mit Apple Geräten verwenden. Bei Let’s Encrypt gibt es weiterhin free certificates.