Gestion des clés et des certificats
Qlik NPrinting utilise une méthode de chiffrement qui nécessite un fichier de certificat X.509 au format PEM. Vous pouvez générer un certificat auto-signé ou en obtenir un signé de la part d'une autorité de certification. Un certificat unique couvre à la fois NewsStand et Console Web Qlik NPrinting, car tous les deux ont le même nom de domaine.
Limitations
-
Les certificats générés à l'aide d'algorithmes compatibles CNG ne sont pas compatibles avec le module additionnel On-Demand.
Génération d'une paire de clés RSA publique et privée au format PEM
Procédez comme suit :
-
Ouvrez une invite de ligne de commande Windows.
-
Accédez au dossier binaire OpenSSL. La commande par défaut est la suivante : cd C:\OpenSSL-Win64\bin
Vous pouvez personnaliser le dossier, si nécessaire. Les fichiers seront créés dans ce dossier. Déplacez-les ensuite dans le dossier final.
-
Exécutez la commande suivante : openssl genrsa -out NPrinting.key 4096.
genrsa est l'option permettant de générer une clé privée RSA. 4096 est la taille de la clé privée générée en bits.
-
Pour exporter uniquement le certificat public au format PEM, exécutez la commande suivante : openssl rsa -in NPrinting.key -outform PEM -pubout -out NPrintingPublic.pem.
pubout est l'option OpenSSL permettant d'extraire la clé publique et la clé privée RSA.
Note AvertissementLa clé de certificat ne doit pas être protégée par phrase secrète.Note AvertissementLa clé privée ne doit être divulguée à personne, ni envoyée à l'autorité de certification. Sauvegardez-la et conservez-la en lieu sûr. Vous pouvez distribuer uniquement le fichier de clé publique, si nécessaire. -
Avant de partager votre fichier de clé publique, nous vous suggérons de l'inspecter visuellement pour vous assurer que vous envoyez le bon fichier :
-
Ouvrez le fichier NPrinting.key dans un éditeur de texte. NPrinting.key est votre clé privée et commence par : -----BEGIN RSA PRIVATE KEY-----. Gardez-la secrète.
-
Ouvrez le fichier NPrintingPublic.pem dans un éditeur de texte. NPrintingPublic.pem est votre clé publique et commence par : -----BEGIN PUBLIC KEY-----. Vous pouvez partager ce fichier.
-
Sécurité de la clé privée
Qlik NPrinting fonctionne 24 h/24, 7 j/7. Autrement dit, il convient de stocker la clé privée non chiffrée sur le système de fichiers. Il n'est pas possible de protéger la clé privée par un mot de passe, car l'administrateur devrait saisir le mot de passe à chaque redémarrage du service. Vous pouvez protéger le fichier de clé privée en accordant des droits d'accès sur lui uniquement aux administrateurs. Le fichier de clé privée est utilisé uniquement pour TLS et ne quitte jamais le serveur.
Génération d'un certificat auto-signé
Un certificat auto-signé est un certificat d'identité qui est signé par l'entité qui en est le propriétaire. Cette entité fait appel à sa propre clé privée pour certifier son identité. Le recours à un certificat auto-signé vous permet de signer vous-même votre certificat.
L'utilisation d'un certificat auto-signé est possible dans les cas suivants :
- Vous projetez d'utiliser le protocole HTTPS (HTTP over TLS) pour sécuriser vos serveurs Web.
- Vos certificats ne doivent pas obligatoirement être signés par une autorité de certification.
Par exemple, vous pouvez utiliser un certificat auto-signé si vos serveurs Web ne sont utilisés que dans votre réseau local.
Procédez comme suit :
- Ouvrez une invite de ligne de commande Windows.
- Accédez au dossier binaire OpenSSL. La commande par défaut est cd C:\OpenSSL-Win64\bin. Les fichiers seront créés dans ce dossier. Déplacez-les ensuite dans le dossier final.
- Pour créer le certificat auto-signé, exécutez la commande suivante :
openssl req -newkey rsa:4096 -nodes -keyout NPrinting.key -x509 -days 365 -out NPrinting.crtOù :
- req est l'utilitaire de génération et la requête de certificat PKCS#10.
- L'option -x509 indique à req de créer un certificat auto-signé.
- L'option -days 365 spécifie que le certificat sera valide pendant 365 jours.
Pour ignorer les questions interactives, utilisez l'option -subj suivie des informations de domaine placées entre guillemets.
Par exemple :
-subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com".
Vous pouvez distribuer le fichier de clé publique.
Acquisition d'un certificat auprès d'une autorité de certification
Si vous devez éviter les avertissements de sécurité dans le cas où votre serveur Web est accessible sur un réseau Internet public via des navigateurs Web, vos certificats doivent être signés par une autorité de certification. Il existe un grand nombre d'autorités de certification. Chacun d'elles dispose de ses propres instructions à suivre. Certaines étapes relatives à la génération et à l'implémentation de certificats signés délivrés par une autorité de certification sont communes à l'ensemble de ses entités. Les sections suivantes présentent ces étapes communes.
Génération d'une demande de signature de certificat
Pour obtenir un certificat signé par une autorité de certification, vous devez générer une demande de signature de certificat (CSR, certificate signing request). Une demande CSR contient votre clé publique et des informations supplémentaires. Ces informations seront incluses dans le certificat signé. Une demande de signature de certificat ne contient jamais la clé privée.
Procédez comme suit :
-
Pour générer la demande CSR et la clé privée, exécutez la commande suivante :
openssl req -new -newkey rsa:4096 -nodes -keyout NPrinting.key -out NPrinting.csr
-
Vous êtes alors invité à répondre à des questions interactives.
Pour ignorer les questions interactives, utilisez l'option -subj suivie des informations de domaine placées entre guillemets.Par exemple :
-subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=mywebsitedomain.com".
Concernant toute procédure personnalisée de création de demande CSR, consultez les instructions de l'autorité de certification appropriée.
Champ du nom commun
Le nom indiqué dans le champ du nom commun (CN, Common Name) doit correspondre exactement au nom de domaine complet (FQDN, Fully Qualified Domain Name) de l'hôte qui utilisera le certificat.
Par exemple :
- Si l'URL de NewsStand est https://votreentreprise.com:4994, le nom de domaine complet est votreentreprise.com (le port n'en fait pas partie).
- L'URL https://www.votreentreprise.com:4994 est considérée comme différente de https://votreentreprise.com:4994. Si vous souhaitez que les deux adresses URL soient interprétées comme des noms d'hôte valides, vous devez générer deux certificats, un contenant le nom de domaine complet www.votreentreprise.com et l'autre spécifiant le nom de domaine complet votreentreprise.com.
Fusion de certificats signés avec des certificats de serveur
Lorsque vous utilisez un certificat signé par une autorité de certification, vous devez créer un groupe de fichiers de certificat PEM contenant les éléments suivants :
-
Le certificat du serveur
-
Tous les certificats intermédiaires
-
Le certificat signé par l'autorité de certification
Veillez à respecter l'ordre de concaténation suivant :
- Certificat du domaine
- Certificats intermédiaires (un ou plusieurs)
- Certificat racine
Une fois que vous avez créé le groupe de certificats, utilisez-le de pair avec votre clé privée afin de configurer le proxy. Vous devez fournir les fichiers contenant un certificat et la clé privée correspondante du serveur.
Procédez comme suit :
Dans cet exemple, le certificat de votre domaine est NPrinting.crt.
-
Ouvrez une ligne de commande Windows et saisissez ce qui suit :
- NPrinting.crt est le certificat de domaine.
- NPrinting.public.pem est le groupe de certificats qui sera utilisé pour configurer le proxy.
- RSADomainValidationSecureServerCA.crt et RSAAddTrustCA.crt sont des certificats intermédiaires.
- AddTrustExternalCARoot.crt est le certificat racine.
-
Utilisez NPrinting.public.pem comme fichier de certificat et la clé privée pour configurer le 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
Où :