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 Qlik NPrinting web console, poiché hanno lo stesso nome di dominio.

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 è l'utilità di richiesta e generazione del certificato PKCS#10.
    • L'opzione -x509 specifica che req dovrà creare un certificato autofirmato.
    • L'opzione -days 365 specifica 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 solo 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 e il certificato firmato dalla CA. 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:

  1. È possibile creare un file di pacchetto di certificati concatenando il certificato firmato dalla CA per il proprio dominio, il certificato del server e gli eventuali certificati intermedi. Tutti i certificati, compreso il certificato radice, devono essere concatenati.
  2. Assicurarsi di applicare l'ordine seguente per la concatenazione:

    • Certificato di dominio
    • Certificati intermedi (uno o più)
    • Certificato radice

    Ad esempio:

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

    Dove:

    • NPrinting.crt è il certificato del dominio.
    • NPrinting.public.crt è il pacchetto 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.crt come file di certificato e la chiave privata per configurare il proxy.