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.

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:

  1. Öffnen Sie eine Windows-Eingabeaufforderung.
  2. 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.
  3. 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.crt

    Dabei 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 365 Tage lang 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".

Warnung: Der 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 nur 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:

  1. 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

  2. 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 erstellen, das das Serverzertifikat, alle Zwischenzertifizierungen und das CA-signierte Zertifikat enthält. 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:

  1. Sie können eine Datei mit dem Zertifikat-Bundle erstellen, indem Sie das CA-signierte Zertifikat für Ihre Domäne, das Serverzertifikat und alle Zwischenzertifizierungen zusammenfassen. Alle Zertifikate einschließlich Stammzertifikat müssen zusammengefasst werden.
  2. Wenden Sie bei der Zusammenfassung unbedingt die folgende Reihenfolge an:

    • Domänenzertifikat
    • Zwischenzertifizierungen (eine oder mehrere)
    • Stammzertifikat

    Beispiel:

    more < NPrinting.crt >> NPrinting.public.crt
    more < RSADomainValidationSecureServerCA.crt >> NPrinting.public.crt
    more < RSAAddTrustCA.crt >> NPrinting.public.crt
    more < AddTrustExternalCARoot.crt >> NPrinting.public.crt

    Dabei gilt:

    • NPrinting.crt ist das Domänenzertifikat.
    • NPrinting.public.crt ist das Zertifikat-Bundle, das zum Einrichten des Proxy verwendet wird.
    • RSADomainValidationSecureServerCA.crt und RSAAddTrustCA.crt sind Zwischenzertifizierungen.
    • AddTrustExternalCARoot.crt ist das Stammzertifikat.
  3. Verwenden Sie „NPrinting.public.crt“ als Zertifikatdatei und den privaten Schlüssel zum Einrichten des Proxys.