Verwalten von Schlüsseln und Zertifikaten
Für die Verschlüsselung von Qlik NPrinting ist eine X.509-Zertifikatdatei in PEM-Format erforderlich. Sie können ein selbstsigniertes Zertifikat generieren oder ein Zertifikat von einer Zertifizierungsstelle (CA) signieren lassen. Ein einziges Zertifikat genügt für den NewsStand und die Qlik NPrinting Web Console, da beide denselben Domänennamen haben.
Einschränkungen
-
Zertifikate, die anhand von CNG-kompatiblen Algorithmen generiert werden, sind nicht mit dem On-Demand-Add-on kompatibel.
Generieren eines RSA-Schlüsselpaars aus einem öffentlichen und einem privaten Schlüssel im PEM-Format
Gehen Sie folgendermaßen vor:
-
Öffnen Sie eine Windows-Eingabeaufforderung.
-
Wechseln Sie in den Ordner mit der OpenSSL-Binärverteilung. Der Standardbefehl lautet: cd C:\OpenSSL-Win64\bin
Sie können den Ordner bei Bedarf anpassen. Die Dateien werden in diesem Ordner erstellt. Anschließend verschieben Sie sie in den endgültigen Ordner.
-
Führen Sie den folgenden Befehl aus: openssl genrsa -out NPrinting.key 4096.
genrsa ist die Option zum Generieren eines privaten RSA-Schlüssels. 4096 ist die Größe des generierten privaten Schlüssels in Bit.
-
Wenn Sie nur das öffentliche Zertifikat im PEM-Format exportieren möchten, führen Sie den folgenden Befehl aus: openssl rsa -in NPrinting.key -outform PEM -pubout -out NPrintingPublic.pem.
pubout ist die OpenSSL-Option zum Extrahieren des öffentlichen Schlüssels aus einem privaten RSA-Schlüssel.
WarnhinweisDer Zertifikatschlüssel darf nicht durch eine Passphrase geschützt sein.WarnhinweisDer private Schlüssel sollte geheim gehalten werden und nicht an die Zertifizierungsstelle gesendet werden. Fertigen Sie eine Sicherung an und speichern Sie sie an einem sicheren Ort. Sie können die Datei mit dem öffentlichen Schlüssel bei Bedarf verteilen. -
Wir empfehlen, die Datei mit Ihrem öffentlichen Schlüssel vor der Freigabe visuell zu überprüfen, um sich zu vergewissern, dass Sie die korrekte Datei senden:
-
Öffnen Sie die Datei NPrinting.key in einem Texteditor. NPrinting.key ist Ihr privater Schlüssel und beginnt mit -----BEGIN RSA PRIVATE KEY-----. Halten Sie diese Datei geheim.
-
Öffnen Sie die Datei NPrintingPublic.pem in einem Texteditor. NPrintingPublic.pem ist der öffentliche Schlüssel. Er beginnt mit -----BEGIN PUBLIC KEY-----. Diese Datei können Sie freigeben.
-
Sicherheit durch private Schlüssel
Qlik NPrinting wird rund um die Uhr ausgeführt. Dies führt dazu, dass der private Schlüssel unverschlüsselt im Dateisystem gespeichert werden muss. Der Schutz des privaten Schlüssels mithilfe eines Kennworts ist nicht durchführbar, da ein Administrator bei jedem Neustart des Diensts das Kennwort erneut eingeben muss. Sie können die Datei mit dem privaten Schlüssel schützen, indem Sie nur Administratoren Zugriffsrechte dafür gewähren. Die Datei mit dem privaten Schlüssel wird nur für TLS verwendet und verlässt den Server nie.
Generieren eines selbstsignierten Zertifikats
Ein selbstsigniertes Zertifikat ist ein Identitätszertifikat, das von der Entität signiert ist, die das Zertifikat besitzt. Diese Entität verwendet ihren eigenen privaten Schlüssel zum Zertifizieren ihrer Identität. Wenn Sie ein selbstsigniertes Zertifikat verwenden, können Sie Ihr Zertifikat selbst signieren.
In folgenden Fällen können Sie ein selbstsigniertes Zertifikat verwenden:
- Sie möchten HTTPS (HTTP über TLS) verwenden, um Ihre Webserver zu sichern.
- Für Sie ist nicht erforderlich, dass Ihre Zertifikate von einer Zertifizierungsstelle (CA) signiert werden.
Sie können ein selbstsigniertes Zertifikat beispielsweise verwenden, wenn Ihre Webserver nur innerhalb Ihres lokalen Netzwerks verwendet werden.
Gehen Sie folgendermaßen vor:
- Öffnen Sie eine Windows-Eingabeaufforderung.
- Wechseln Sie in den Ordner mit der OpenSSL-Binärverteilung. Der Standardbefehl lautet cd C:\OpenSSL-Win64\bin. Die Dateien werden in diesem Ordner erstellt. Anschließend verschieben Sie sie in den endgültigen Ordner.
- Um ein selbstsigniertes Zertifikat zu erstellen, führen Sie den folgenden Befehl aus:
openssl req -newkey rsa:4096 -nodes -keyout NPrinting.key -x509 -days 365 -out NPrinting.crtDabei gilt:
- req ist die PKCS#10-Zertifikatanforderungs- und -generierungsoption.
- Die Option -x509 gibt an req die Information weiter, dass ein selbstsigniertes Zertifikat erstellt werden soll.
- Mit der Option -days 365 wird angegeben, dass das Zertifikat für 365 Tage gültig ist.
Um die interaktiven Fragen zu überspringen, verwenden Sie -subj gefolgt von Ihren Domäneninformationen in Anführungszeichen.
Beispiel:
-subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com".
Sie können die Datei mit dem öffentlichen Schlüssel verteilen.
Kaufen eines Zertifikats von einer Zertifizierungsstelle (CA)
Ihre Zertifikate müssen von einer Zertifizierungsstelle (CA) signiert werden, um Sicherheitswarnungen zu vermeiden, wenn Ihr Webserver über öffentliche Webbrowser erreichbar ist. Es gibt zahlreiche Zertifizierungsstellen. Die von Ihnen gewählte CA wird Ihnen eigene spezifische Anweisungen erteilen, die Sie befolgen müssen. Einige Schritte beim Generieren und Implementieren von CA-signierten Zertifikaten sind für alle Zertifizierungsstellen gleich. In den folgenden Abschnitten werden diese allgemeinen Schritte beschrieben.
Generieren einer Zertifikatsignieranforderung
Wenn Sie ein CA-signiertes Zertifikat benötigen, müssen Sie eine Zertifikatsignieranforderung generieren. Eine Zertifikatsignieranforderung enthält Ihren öffentlichen Schlüssel und andere zusätzliche Informationen. Diese Informationen werden in das signierte Zertifikat aufgenommen. Eine Zertifikatsignieranforderung enthält nie den privaten Schlüssel.
Gehen Sie folgendermaßen vor:
-
Um die Zertifikatsignieranforderung und den privaten Schlüssel zu generieren, führen Sie folgenden Befehl aus:
openssl req -new -newkey rsa:4096 -nodes -keyout NPrinting.key -out NPrinting.csr
-
Sie werden aufgefordert, die interaktiven Fragen zu beantworten.
Um die interaktiven Fragen zu überspringen, verwenden Sie -subj gefolgt von Ihren Domäneninformationen in Anführungszeichen.Beispiel:
-subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com".
Alle spezifischen Verfahren, die zum Erstellen der Zertifikatsignieranforderung benötigt werden, finden Sie in den Anweisungen der Zertifizierungsstelle.
Feld „Common Name“
Der Name im Feld „Common Name“ (CN) muss der vollqualifizierte Domänenname (FQDN) des Hosts sein, der das Zertifikat verwenden soll.
Beispiel:
- Wenn beispielsweise die URL Ihres NewsStand https://yourcompany.com:4994 lautet, lautet der vollqualifizierte Domänenname (FQDN) „yourcompany.com“ (der Port ist im FQDN nicht enthalten).
- Die URL https://www.yourcompany.com:4994 wird als unterschiedlich von https://yourcompany.com:4994 betrachtet. Wenn Sie möchten, dass beide URL-Adressen als gültige Hostnamen betrachtet werden, müssen Sie zwei Zertifikate generieren, von denen eines den FQDN www.yourcompany.com und das andere den FQDN yourcompany.com enthält.
Zusammenführen signierter Zertifikate mit Serverzertifikaten
Wenn Sie ein Zertifikat verwenden, das von einer Zertifizierungsstelle (CA) signiert wurde, müssen Sie ein Zertifikat-Bundle in einer PEM-Datei erstellen, das Folgendes enthält:
-
das Serverzertifikat
-
alle Zwischenzertifikate
-
das von der Zertifizierungsstelle signierte Zertifikat
Wenden Sie bei der Zusammenfassung unbedingt die folgende Reihenfolge an:
- Domänenzertifikat
- Zwischenzertifizierungen (eine oder mehrere)
- Stammzertifikat
Nach dem Erstellen des Zertifikat-Bundles verwenden Sie es zusammen mit Ihrem privaten Schlüssel, um den Proxy einzurichten. Dateien, die ein Zertifikat und einen entsprechenden privaten Schlüssel für den Server enthalten, müssen bereitgestellt werden.
Gehen Sie folgendermaßen vor:
In diesem Beispiel ist das Zertifikat für Ihre Domäne NPrinting.crt.
-
Öffnen Sie die Windows-Befehlszeile und führen Sie folgende Befehle aus:
- NPrinting.crt ist das Domänenzertifikat.
- NPrinting.public.pem ist das Zertifikat-Bundle, das zum Einrichten des Proxy verwendet wird.
- RSADomainValidationSecureServerCA.crt und RSAAddTrustCA.crt sind Zwischenzertifizierungen.
- AddTrustExternalCARoot.crt ist das Stammzertifikat.
-
Verwenden Sie NPrinting.public.pem als Zertifikatdatei und den privaten Schlüssel zum Einrichten des Proxy.
more NPrinting.crt >> NPrinting.public.pem
more RSADomainValidationSecureServerCA.crt >> NPrinting.public.pem
more RSAAddTrustCA.crt >> NPrinting.public.pem
more AddTrustExternalCARoot.crt >> NPrinting.public.pem
Dabei gilt: