Vai al contenuto principale

Gestione di chiavi e certificati

La crittografia di Qlik NPrinting richiede un file di certificato X.509 in formato PEM. È possibile generare un certificato autofirmato o ottenerne uno firmato da un'autorità di certificazione (CA). È sufficiente un solo certificato per NewsStand e Console web Qlik NPrinting, poiché hanno lo stesso nome di dominio.

Limitazioni

  • I certificati generati utilizzando algoritmi compatibili con CNG non sono compatibili con il componente aggiuntivo On-Demand.

Generazione di una coppia di chiavi RSA pubblica e privata nel formato PEM

Procedere come segue:

  1. Aprire un prompt della riga dei comandi di Windows.

  2. Passare alla cartella del file binario di OpenSSL. Il comando predefinito è: cd C:\OpenSSL-Win64\bin

    È possibile personalizzare la cartella se necessario. I file verranno creati in questa cartella, ma in seguito dovranno essere spostati nella cartella definitiva.

  3. Eseguire il comando: openssl genrsa -out NPrinting.key 4096.

    genrsa è l'opzione per generare una chiave RSA privata. 4096 è la dimensione della chiave privata generata in bit.

  4. Se si desidera soltanto esportare il certificato pubblico in formato PEM, eseguire il comando: openssl rsa -in NPrinting.key -outform PEM -pubout -out NPrintingPublic.pem.

    pubout è l'opzione OpenSSL per estrarre la chiave pubblica dalla chiave privata RSA.

    Avviso: La chiave del certificato non deve essere protetta da passphrase.
    Avviso: La chiave privata deve rimanere segreta e non deve essere inviata all'autorità di certificazione. Si consiglia di eseguirne il backup e di conservarla in un posto sicuro. Se necessario, è possibile distribuire il file della chiave pubblica.
  5. Prima di condividere il file della chiave pubblica, suggeriamo di effettuare un controllo visivo per accertarsi di inviare il file corretto:

    1. Aprire il file NPrinting.key in un editor di testo. NPrinting.key è la chiave privata e inizia con: -----BEGIN RSA PRIVATE KEY-----. La chiave deve rimanere segreta.

    2. Aprire il file NPrintingPublic.pem in un editor di testo. NPrintingPublic.pem è la chiave pubblica e inizia con: -----BEGIN PUBLIC KEY-----. È possibile condividere questo file.

Sicurezza della chiave privata

Qlik NPrinting è caratterizzato da un'operatività continua. Per questo motivo, la chiave privata deve essere archiviata nel file system senza crittografia. Proteggere la chiave privata con una password non è fattibile perché un amministratore dovrebbe immettere la password a ogni riavvio del servizio. È possibile proteggere il file della chiave privata concedendo i diritti di accesso solo agli amministratori. Il file della chiave privata è utilizzato solo per TLS e non lascia mai il server.

Generazione di un certificato autofirmato

Un certificato autofirmato è un certificato di identità firmato dall'entità proprietaria del certificato. Questa entità utilizza la propria chiave privata per certificare la propria identità. L'utilizzo di un certificato autofirmato consente di firmare il proprio certificato autonomamente.

È possibile utilizzare un certificato autofirmato se:

  • Si intende utilizzare HTTPS (HTTP over TLS) per proteggere i server Web.
  • Non si ha l'esigenza che i propri certificati siano firmati da un'autorità di certificazione (CA).

Ad esempio, è possibile utilizzare un certificato autofirmato se i server Web vengono utilizzati solo all'interno della rete locale.

Procedere come segue:

  1. Aprire un prompt della riga dei comandi di Windows.
  2. Passare alla cartella del file binario di OpenSSL. Il comando predefinito è cd C:\OpenSSL-Win64\bin. I file verranno creati in questa cartella, ma in seguito dovranno essere spostati nella cartella definitiva.
  3. Per creare il certificato autofirmato, eseguire il comando seguente:
    openssl req -newkey rsa:4096 -nodes -keyout NPrinting.key -x509 -days 365 -out NPrinting.crt

    Dove:

    • req è la richiesta del certificato PKCS#10 e dell'utilità di generazione.
    • L'opzione -x509 comunica a req di creare un certificato autofirmato.
    • L'opzione -days 365 indica che il certificato sarà valido per 365 giorni.

    Per saltare le domande interattive, utilizzare -subj seguito dalle informazioni sul proprio dominio tra virgolette.

    Ad esempio:

    -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com".

Avviso: La chiave privata deve rimanere segreta e non deve essere inviata all'autorità di certificazione. Si consiglia di eseguirne il backup e di conservarla in un posto sicuro.

È possibile distribuire il file della chiave pubblica.

Acquisto di un certificato da un'autorità di certificazione

I certificati devono essere firmati da un'autorità di certificazione (CA) se è necessario evitare avvisi di sicurezza nel caso in cui il proprio server Web sia raggiungibile pubblicamente tramite browser Web. Ci sono numerose autorità di certificazione. Il CA scelto avrà le proprie istruzioni specifiche da seguire. Alcune fasi della generazione e dell'implementazione dei certificati firmati dalle autorità di certificazione sono comuni a tutte le autorità di certificazione. Le sezioni che seguono descrivono queste fasi comuni.

Generazione di una richiesta di firma del certificato

Per ottenere un certificato firmato da una CA, è necessario generare una richiesta di firma (CSR). Una CSR contiene la propria chiave pubblica e altre informazioni aggiuntive. Queste informazioni saranno incluse nel certificato firmato. Una CSR non contiene mai la chiave privata.

Procedere come segue:

  1. Per generare la CSR e la chiave privata, eseguire il comando seguente:

    openssl req -new -newkey rsa:4096 -nodes -keyout NPrinting.key -out NPrinting.csr

  2. Verrà richiesto di rispondere alle domande interattive.
    Per saltare le domande interattive, utilizzare -subj seguito dalle informazioni sul proprio dominio tra virgolette.

    Ad esempio:

    -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com".

Per eventuali procedure personalizzate necessarie per la creazione della CSR, fare riferimento alle istruzioni dell'autorità di certificazione.

Campo Common Name (Nome comune)

Il nome nel campo Common Name (CN) (Nome comune) deve essere il nome di dominio completo (FQDN, Fully Qualified Domain Name) dell'host che utilizzerà il certificato.

Ad esempio:

  • Se l'URL di NewsStand è https://nomeazienda.com:4994, l'FQND sarà nomeazienda.com (la porta non fa parte dell'FQDN).
  • L'URL https://www.nomeazienda.com:4994 è considerato diverso da https://nomeazienda.com:4994. Se si desidera che entrambi gli indirizzi URL siano nomi host validi, è necessario generare due certificati, uno contenente l'FQDN www.nomeazienda.com e uno contenente l'FQDN nomeazienda.com.

Unione dei certificati firmati con i certificati del server

Quando si utilizza un certificato firmato da un'autorità di certificazione (CA), è necessario creare un file PEM di pacchetto di certificati, contenente:

  • il certificato del server

  • eventuali certificati intermedi

  • il certificato firmato dalla CA

Assicurarsi di applicare l'ordine seguente per la concatenazione:

  1. Certificato di dominio
  2. Certificati intermedi (uno o più)
  3. Certificato radice

Una volta creato il pacchetto di certificati, usarlo insieme alla chiave privata per configurare il proxy. È necessario fornire i file contenenti un certificato e la corrispondente chiave privata del server.

Procedere come segue:

In questo esempio, il certificato per il proprio dominio è NPrinting.crt.

  1. Aprire una riga di comando di Windows e immettere quanto segue:

  2. more NPrinting.crt >> NPrinting.public.pem
    more RSADomainValidationSecureServerCA.crt >> NPrinting.public.pem
    more RSAAddTrustCA.crt >> NPrinting.public.pem
    more AddTrustExternalCARoot.crt >> NPrinting.public.pem

    Dove:

    • NPrinting.crt è il certificato di dominio.
    • NPrinting.public.pem è il bundle di certificati che verrà utilizzato per configurare il proxy.
    • RSADomainValidationSecureServerCA.crt e RSAAddTrustCA.crt sono certificati intermedi.
    • AddTrustExternalCARoot.crt è il certificato radice.
  3. Utilizzare NPrinting.public.pem come file di certificato e la chiave privata per configurare il proxy.