Verwendung eigener SSL Zertifikate: Unterschied zwischen den Versionen
[gesichtete Version] | [unmarkierte Version] |
Zeile 10: | Zeile 10: | ||
[[Datei:MSnotrust.png|550px|center]] | [[Datei:MSnotrust.png|550px|center]] | ||
− | |||
− | |||
Um MailStore Server für die Verwendung eines eigenes Zertifikats zu konfigurieren, gehen Sie wie im Folgenden beschrieben vor. | Um MailStore Server für die Verwendung eines eigenes Zertifikats zu konfigurieren, gehen Sie wie im Folgenden beschrieben vor. | ||
== Erstellen einer Zertifikatanforderung == | == Erstellen einer Zertifikatanforderung == | ||
− | Zum Erstellen einer Zertifikatanforderung bzw. Certificate Signing Request (CSR) stehen Ihnen diverse Werkzeuge wie '' | + | Zum Erstellen einer Zertifikatanforderung bzw. Certificate Signing Request (CSR) stehen Ihnen diverse Werkzeuge wie ''certreq'', ''OpenSSL'' oder ''LibreSSL'' zur Verfügung. |
− | Im folgenden wird beschrieben, wie | + | Im folgenden wird beschrieben, wie sie eine Zertifikatanforderung generieren und das daraus resultierende Zertifikat in den Windows Zertifikatspeicher laden können. ''certreq'' ist in den meisten Windows Versionen standardmäßig verfügbar. |
* Melden Sie sich am MailStore Server Computer als Administrator an. | * Melden Sie sich am MailStore Server Computer als Administrator an. | ||
Zeile 46: | Zeile 44: | ||
[EnhancedKeyUsageExtension] | [EnhancedKeyUsageExtension] | ||
OID = 1.3.6.1.5.5.7.3.1 ; this is for Server Authentication | OID = 1.3.6.1.5.5.7.3.1 ; this is for Server Authentication | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[Extensions] | [Extensions] | ||
2.5.29.17 = "{text}" | 2.5.29.17 = "{text}" | ||
Zeile 63: | Zeile 50: | ||
_continue_ = "DNS=mailstoreserver&" | _continue_ = "DNS=mailstoreserver&" | ||
</pre> | </pre> | ||
− | + | * Passen Sie ''Subject'' und ''FriendlyName'' an Ihren Bedürfnissen an. Beachten Sie, dass der ''Common Name (CN)'' im ''Subject'' irrelevant für die Verifikation durch die Clients ist und alle Hostnamen als ''Subject Alternative Names (SAN)'' im Abschnitt ''[Extensions]'' anzugeben sind. Weitere Hostnamen können durch das Hinzufügen weiterer ''_continue_''-Zeilen hinzugefügt werden. | |
− | + | * Speichern Sie die Datei. | |
− | + | * Öffnen Sie eine Kommandozeile als Administrator und navigieren Sie in das Verzeichnis, in das Sie die Datei ''request.inf'' abgelegt haben. | |
+ | * Erstellen Sie die Zertifikatanforderung durch das Ausführen des folgenden Befehls: | ||
+ | certreq -new request.inf request.csr | ||
== Validierung der Zertifikatanforderung == | == Validierung der Zertifikatanforderung == | ||
− | Um die Zertifikatanforderung zu validieren, führen Sie den folgenden Befehl in der | + | Um die Zertifikatanforderung zu validieren, führen Sie den folgenden Befehl in der Kommandozeile aus: |
certutil -dump request.csr | certutil -dump request.csr | ||
Zeile 75: | Zeile 64: | ||
Reichen Sie die Zertifikatanforderung bei Ihrer ''Certificate Authority'' (''CA'') ein. Üblicherweise wird die Zertifikatanforderung über eine Webseite zur CA hochgeladen. Wenn Sie von der CA nach der Plattform gefragt werden, für die das Zertifikat verwendet werden soll, wählen Sie ''IIS 7'' oder ''Keine der Aufgelisteten''. Sie erhalten ein wenig später das unterschriebene Zertifikat zurück. | Reichen Sie die Zertifikatanforderung bei Ihrer ''Certificate Authority'' (''CA'') ein. Üblicherweise wird die Zertifikatanforderung über eine Webseite zur CA hochgeladen. Wenn Sie von der CA nach der Plattform gefragt werden, für die das Zertifikat verwendet werden soll, wählen Sie ''IIS 7'' oder ''Keine der Aufgelisteten''. Sie erhalten ein wenig später das unterschriebene Zertifikat zurück. | ||
− | <p class="msnote">'''Hinweis:''' Viele CAs unterschreiben die Zertifikatanforderungen von einer Zwischenstelle. Das Zertifikat dieser Zwischenstelle wird in der Regel mit dem eigentlichen Zertifikat bereitgestellt und muss vor dem Import des Zertifikats in den Zertifikatspeicher importiert werden. Dies kann üblicherweise mittels | + | <p class="msnote">'''Hinweis:''' Viele CAs unterschreiben die Zertifikatanforderungen von einer Zwischenstelle. Das Zertifikat dieser Zwischenstelle wird in der Regel mit dem eigentlichen Zertifikat bereitgestellt und muss vor dem Import des Zertifikats in den Zertifikatspeicher importiert werden. Dies kann üblicherweise mittels des MMC Snap-In ''Zertifikate'' durchgeführt werden. Folgen Sie dazu ggf. den Anweisungen Ihrer CA.</p> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Importieren des Zertifikats == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
* Öffnen Sie eine Kommandozeile als Administrator und navigieren Sie in das Verzeichnis, in das Sie das Zertifikat abgelegt haben. | * Öffnen Sie eine Kommandozeile als Administrator und navigieren Sie in das Verzeichnis, in das Sie das Zertifikat abgelegt haben. | ||
* Führen Sie den folgenden Befehl aus, um das Zertifikat in den Zertifikatspeicher des Computerkontos zu importieren, passen Sie den Dateinamen entsprechend an. | * Führen Sie den folgenden Befehl aus, um das Zertifikat in den Zertifikatspeicher des Computerkontos zu importieren, passen Sie den Dateinamen entsprechend an. | ||
certreq -accept certificate.cer | certreq -accept certificate.cer | ||
+ | |||
+ | == Verifizieren des Imports == | ||
* Öffnen Sie das MMC Snap-In ''Zertifikate'' und navigieren Sie zu den ''Eigenen Zertifikaten'' des Computerkontos. | * Öffnen Sie das MMC Snap-In ''Zertifikate'' und navigieren Sie zu den ''Eigenen Zertifikaten'' des Computerkontos. | ||
* Prüfen Sie, ob auf den privaten Schlüssel des Zertifikats zugegriffen werden kann. Dies ist an dem kleinen Schlüsselsymbol am Symbol des Zertifikats sichtbar. Außerdem wird es nach einem Doppelklick auf das Zertifikat im ''Allgemein''-Reiter erwähnt. | * Prüfen Sie, ob auf den privaten Schlüssel des Zertifikats zugegriffen werden kann. Dies ist an dem kleinen Schlüsselsymbol am Symbol des Zertifikats sichtbar. Außerdem wird es nach einem Doppelklick auf das Zertifikat im ''Allgemein''-Reiter erwähnt. |
Version vom 16. Januar 2018, 15:18 Uhr
Hintergrund
Während der Installation von MailStore Server wird ein SSL-Zertifikat generiert, welches von allen MailStore Server Komponenten verwendet wird, wenn eine verschlüsselte Verbindung aufgebaut werden soll. Da das Zertifikat auf den Servernamen MailStoreServer ausgestellt ist und zudem nicht von einer vertrauenswürdigen Zertifizierungsstelle (CA) stammt, wird diesem Clientseitig nicht vertraut.
In Folge dessen kommt es beim Aufruf des MailStore Web Access über HTTPS (SSL) zu folgender Warnmeldung:
Um MailStore Server für die Verwendung eines eigenes Zertifikats zu konfigurieren, gehen Sie wie im Folgenden beschrieben vor.
Erstellen einer Zertifikatanforderung
Zum Erstellen einer Zertifikatanforderung bzw. Certificate Signing Request (CSR) stehen Ihnen diverse Werkzeuge wie certreq, OpenSSL oder LibreSSL zur Verfügung.
Im folgenden wird beschrieben, wie sie eine Zertifikatanforderung generieren und das daraus resultierende Zertifikat in den Windows Zertifikatspeicher laden können. certreq ist in den meisten Windows Versionen standardmäßig verfügbar.
- Melden Sie sich am MailStore Server Computer als Administrator an.
- Erstellen Sie die Datei request.inf mit folgendem Inhalt:
;----------------- request.inf ----------------- [Version] Signature="$Windows NT$" [NewRequest] ; replace Subject attributes in the line below with real values Subject = "CN=mailstoreserver.example.com, OU=Department, O=Organisation, L=Locality, S=State, C=Country" KeySpec = 1 KeyLength = 2048 Exportable = TRUE FriendlyName = mailstoreserver.example.com MachineKeySet = TRUE SMIME = False PrivateKeyArchive = FALSE UserProtected = FALSE UseExistingKeySet = FALSE ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType = 12 RequestType = PKCS10 KeyUsage = 0xa0 [EnhancedKeyUsageExtension] OID = 1.3.6.1.5.5.7.3.1 ; this is for Server Authentication [Extensions] 2.5.29.17 = "{text}" _continue_ = "DNS=mailstoreserver.example.com&" _continue_ = "DNS=mailstoreserver&"
- Passen Sie Subject und FriendlyName an Ihren Bedürfnissen an. Beachten Sie, dass der Common Name (CN) im Subject irrelevant für die Verifikation durch die Clients ist und alle Hostnamen als Subject Alternative Names (SAN) im Abschnitt [Extensions] anzugeben sind. Weitere Hostnamen können durch das Hinzufügen weiterer _continue_-Zeilen hinzugefügt werden.
- Speichern Sie die Datei.
- Öffnen Sie eine Kommandozeile als Administrator und navigieren Sie in das Verzeichnis, in das Sie die Datei request.inf abgelegt haben.
- Erstellen Sie die Zertifikatanforderung durch das Ausführen des folgenden Befehls:
certreq -new request.inf request.csr
Validierung der Zertifikatanforderung
Um die Zertifikatanforderung zu validieren, führen Sie den folgenden Befehl in der Kommandozeile aus:
certutil -dump request.csr
Einreichen der Zertifikatanforderung
Reichen Sie die Zertifikatanforderung bei Ihrer Certificate Authority (CA) ein. Üblicherweise wird die Zertifikatanforderung über eine Webseite zur CA hochgeladen. Wenn Sie von der CA nach der Plattform gefragt werden, für die das Zertifikat verwendet werden soll, wählen Sie IIS 7 oder Keine der Aufgelisteten. Sie erhalten ein wenig später das unterschriebene Zertifikat zurück.
Hinweis: Viele CAs unterschreiben die Zertifikatanforderungen von einer Zwischenstelle. Das Zertifikat dieser Zwischenstelle wird in der Regel mit dem eigentlichen Zertifikat bereitgestellt und muss vor dem Import des Zertifikats in den Zertifikatspeicher importiert werden. Dies kann üblicherweise mittels des MMC Snap-In Zertifikate durchgeführt werden. Folgen Sie dazu ggf. den Anweisungen Ihrer CA.
Importieren des Zertifikats
- Öffnen Sie eine Kommandozeile als Administrator und navigieren Sie in das Verzeichnis, in das Sie das Zertifikat abgelegt haben.
- Führen Sie den folgenden Befehl aus, um das Zertifikat in den Zertifikatspeicher des Computerkontos zu importieren, passen Sie den Dateinamen entsprechend an.
certreq -accept certificate.cer
Verifizieren des Imports
- Öffnen Sie das MMC Snap-In Zertifikate und navigieren Sie zu den Eigenen Zertifikaten des Computerkontos.
- Prüfen Sie, ob auf den privaten Schlüssel des Zertifikats zugegriffen werden kann. Dies ist an dem kleinen Schlüsselsymbol am Symbol des Zertifikats sichtbar. Außerdem wird es nach einem Doppelklick auf das Zertifikat im Allgemein-Reiter erwähnt.
Das Zertifikat mit MailStore Server verwenden
- Öffnen Sie nun die MailStore Server Dienst-Konfiguration.
- Wählen Sie den Punkt IP-Adressen und Ports
- Klicken Sie im entsprechenden Abschnitt auf die Schaltfläche rechts des Textfeldes Serverzertifikat und wählen Sie Auswählen aus dem Zertifikatsspeicher... aus.
- Wählen Sie aus dem Zertifikatsspeicher das neue Zertifikat aus.
- Bestätigen Sie die Eingaben und starten Sie abschließend den MailStore Server-Dienst neu.
Anhang: Einen PFX-Container mittels OpenSSL erstellen
Wenn die Zertifikatanforderung mit OpenSSL erstellt worden ist, wird der private Schlüssel nicht automatisch im Windows Zertifikatspeicher abgelegt, sondern existiert in der Regel als Datei im Dateisystem. Um Zertifikate in MailStore verwenden zu können, die mit OpenSSL erstellt worden sind, müssen die Zertifikate erst in einen PFX-Container umgewandelt werden. Dieser Container enthält das Zertifikat, den privaten Schlüssel und die Zertifikate aus der Zertifikatkette. Der PFX-Container kann dann in den Windows Zertifikatspeicher importiert werden.
- Kopieren Sie das Zertifikat, den privaten Schlüssel und die Zertifikate aus der Zertifikatkette in das OpenSSL-Verzeichnis.
- Öffnen Sie eine Kommandozeile als Administrator und navigieren Sie in dieses Verzeichnis.
- Führen Sie den folgenden Befehl aus, passen Sie die Dateinamen entsprechend an:
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
- Importieren Sie das Zertifikat durch Ausführen des folgenden Befehls:
certutil -importpfx certificate.pfx