Show Menu
TOPICS×

Utilisation du protocole SSL avec Dispatcher

Utilisez les connexions SSL entre Dispatcher et l’ordinateur de rendu :
Les opérations relatives à des certificats SSL sont liées à des produits tiers. Elles ne sont pas couvertes par le contrat d’assistance et de maintenance Adobe Platinum.

Utilisation du protocole SSL lorsque Dispatcher se connecte à AEM

Configurez Dispatcher de sorte qu’il communique avec l’instance de rendu AEM ou CQ en utilisant des connexions SSL.
Avant de configurer Dispatcher, configurez AEM ou CQ de sorte que ces applications utilisent le protocole SSL :

Configuration de Dispatcher de sorte qu’il utilise le protocole SSL

Pour configurer Dispatcher de sorte qu’il se connecte à AEM ou CQ via SSL, le fichier dispatcher.any requiert les propriétés suivantes :
  • Un hôte virtuel qui gère les requêtes HTTPS.
  • La section
    renders
    de l’hôte virtuel inclut un élément qui identifie le nom et le port de l’hôte de l’instance CQ ou AEM qui utilise HTTPS.
  • L’élément 
    renders
    inclut une propriété nommée
    secure
    d’une valeur de 
    1
    .
Remarque : Créez un autre hôte virtuel pour traiter les requêtes HTTP, si nécessaire.
L’exemple de fichier dispatcher.any suivant affiche les valeurs des propriétés pour la connexion via HTTPS à une instance CQ qui s’exécute sur l’hôte
localhost
et le port 
8443
 :
/farms { /secure { /virtualhosts { # select this farm for all incoming HTTPS requestss "https://*" } /renders { /0001 { # hostname or IP of the render /hostname "localhost" # port of the render /port "8443" # connect via HTTPS /secure "1" } } # the rest of the properties are omitted } /non-secure { /virtualhosts { # select this farm for all incoming HTTP requests "https://*" } /renders { /0001 { # hostname or IP of the render /hostname "localhost" # port of the render /port "4503" } } # the rest of the properties are omitted }

Configuration du protocole SSL mutuel entre Dispatcher et AEM

Configurez les connexions entre Dispatcher et l’ordinateur de rendu (généralement une instance de publication AEM ou CQ) pour utiliser le protocole SSL mutuel :
  • Dispatcher se connecte à l’instance de rendu via SSL.
  • L’instance de rendu vérifie la validité du certificat de Dispatcher.
  • Le répartiteur vérifie que l’autorité de certification du certificat de l’instance de rendu est approuvée.
  • (Facultatif) Dispatcher vérifie que le certificat de l’instance de rendu correspond à l’adresse du serveur de l’instance de rendu.
Pour configurer un protocole SSL mutuel, vous avez besoin de certificats signés par une autorité de certification approuvée. Les certificats auto-signés ne sont pas appropriés. Vous pouvez agir comme autorité de certification ou utiliser les services d’une autorité de certification tierce pour la signature des certificats. Pour configurer un protocole SSL mutuel, vous avez besoin des éléments suivants :
  • Certificats signés pour l’instance de rendu et Dispatcher
  • Certificat de l’autorité de certification (si vous agissez comme autorité de certification)
  • Bibliothèques OpenSSL pour générer l’autorité de certification, les certificats et les demandes de certificats
Procédez comme suit pour configurer le protocole SSL mutuel :
  1. Installez la version la plus récente de Dispatcher pour votre plate-forme. Utilisez un binaire de Dispatcher qui prend en charge le protocole SSL (SSL se trouve dans le nom du fichier, par exemple dispatcher-apache2.4-linux-x86-64-ssl10-4.1.7.tar).
  2. Créez un magasin de clés contenant le certificat du rendu et configurez le service HTTP pour l’utiliser.

Création ou obtention de certificats signés par une autorité de certification

Créez ou obtenez des certificats signés par une autorité de certification qui authentifient l’instance de publication et Dispatcher.

Création de l’autorité de certification

Si vous agissez comme autorité de certification, utilisez OpenSSL pour créer l’autorité de certification qui signe les certificats du serveur et du client (vous devez disposer des bibliothèques OpenSSL). Si vous utilisez une autorité de certification tierce, ne suivez pas cette procédure.
  1. Ouvrez un terminal et modifiez le répertoire actuel par le répertoire qui contient le fichier CA.sh, par exemple
    /usr/local/ssl/misc
    .
  2. Pour créer l’autorité de certification, saisissez la commande suivante, puis indiquez les valeurs lorsque vous y êtes invité :
    ./CA.sh -newca
    Plusieurs propriétés du fichier openssl.cnf contrôlent le comportement du script CA.sh. Vous devez modifier ce fichier selon vos besoins avant de créer votre autorité de certification.

Création de certificats

Utilisez OpenSSL pour créer des demandes de certificat à envoyer à l’autorité de certification tierce ou à signer avec votre autorité de certification.
Lorsque vous créez un certificat, OpenSSL utilise la propriété Nom commun pour identifier le détenteur du certificat. Pour le certificat de l’instance de rendu, utilisez le nom d’hôte de l’ordinateur de l’instance en tant que Nom commun si vous configurez Dispatcher de sorte à accepter le certificat uniquement s’il correspond au nom d’hôte de l’instance de publication. (Voir la propriété  DispatcherCheckPeerCN .)
  1. Ouvrez un terminal et définissez le répertoire actuel sur le répertoire contenant le fichier CH.sh des bibliothèques d’OpenSSL.
  2. Entrez la commande suivante et indiquez les valeurs lorsque vous y êtes invité. Si nécessaire, utilisez le nom d’hôte de l’instance de publication comme nom commun. Le nom d’hôte est le nom résolvable DNS pour l’adresse IP du rendu :
    ./CA.sh -newreq
    Si vous utilisez une autorité de certification tierce, envoyez le fichier newreq.pem à l’autorité de certification pour signature. Si vous agissez comme autorité de certification, passez à l’étape 3.
  3. Saisissez la commande suivante pour signer le certificat à l’aide du certificat de l’autorité de certification :
    ./CA.sh -sign
    Deux fichiers nommés newcert.pem et newkey.pem sont créés dans le répertoire qui contient les fichiers de gestion de l’autorité de certification. Il s’agit respectivement du certificat public et de la clé privée de l’ordinateur de rendu.
  4. Renommez newcert.pem en rendercert.pem et newkey.pem en renderkey.pem.
  5. Répétez les étapes 2 et 3 pour créer un nouveau certificat et une nouvelle clé publique pour le module de Dispatcher. Assurez-vous que vous utilisez un Nom commun qui est spécifique à l’instance de Dispatcher.
  6. Renommez newcert.pem en dispcert.pem et newkey.pem en dispkey.pem.

Configuration du protocole SSL sur l’ordinateur de rendu

Configurez le protocole SSL sur l’instance de rendu à l’aide des fichiers rendercert.pem et renderkey.pem.

Conversion du certificat du rendu au format JKS

Utilisez la commande suivante pour convertir le certificat du rendu, qui est un fichier PEM, en un fichier PKCS#12. Incluez également le certificat de l’autorité de certification qui a signé le certificat du rendu :
  1. Dans une fenêtre de terminal, définissez le répertoire actuel sur l’emplacement du certificat du rendu et de la clé privée.
  2. Entrez la commande suivante pour convertir le certificat du rendu, qui est un fichier PEM, en un fichier PKCS#12. Incluez également le certificat de l’autorité de certification qui a signé le certificat du rendu :
    openssl pkcs12 -export -in rendercert.pem -inkey renderkey.pem -certfile demoCA/cacert.pem -out rendercert.p12
  3. Saisissez la commande suivante pour convertir le fichier PKCS#12 au format Java KeyStore (JKS) :
    keytool -importkeystore -srckeystore servercert.p12 -srcstoretype pkcs12 -destkeystore render.keystore
  4. Le fichier Java Keystore est créé à l’aide d’un alias par défaut. Modifiez l’alias, le cas échéant :
    keytool -changealias -alias 1 -destalias jettyhttp -keystore render.keystore

Ajout du certificat de l’autorité de certification au TrustStore du rendu

Si vous agissez comme autorité de certification, importez le certificat dans un magasin de clés. Ensuite, configurez la machine virtuelle Java exécutant l’instance de rendu pour approuver le magasin de clés.
  1. Utilisez un éditeur de texte pour ouvrir le fichier cacert.pem et supprimer l’intégralité du texte qui précède la ligne suivante :
    -----BEGIN CERTIFICATE-----
  2. Utilisez la commande suivante pour importer le certificat dans un magasin de clés :
    keytool -import -keystore cacerts.keystore -alias myca -storepass password -file cacert.pem
  3. Pour configurer la machine virtuelle Java qui exécute l’instance de rendu de sorte qu’elle approuve le magasin de clés, utilisez la propriété système suivante :
    -Djavax.net.ssl.trustStore=<location of cacerts.keystore>
    Par exemple, si vous utilisez le script crx-quickstart/bin/quickstart pour démarrer l’instance de publication, vous pouvez modifier la propriété CQ_JVM_OPTS :
    CQ_JVM_OPTS='-server -Xmx2048m -XX:MaxPermSize=512M -Djavax.net.ssl.trustStore=/usr/lib/cq6.0/publish/ssl/cacerts.keystore'

Configuration de l’instance de rendu

Utilisez le certificat de rendu avec les instructions de la section 
Activation du protocole SSL sur l’instance Publish
 pour configurer le service HTTP de l’instance de rendu de sorte qu’il utilise le protocole SSL :

Configuration du protocole SSL pour le module de Dispatcher

Pour configurer Dispatcher de sorte qu’il utilise le protocole SSL mutuel, préparez le certificat de Dispatcher, puis configurez le module de serveur web.

Création d’un certificat de Dispatcher unifié

Combinez le certificat de Dispatcher et la clé privée non chiffrée dans un seul fichier PEM. Utilisez un éditeur de texte ou la commande
cat
pour créer un fichier semblable à l’exemple suivant :
  1. Ouvrez un terminal et définissez le répertoire actuel sur l’emplacement du fichier dispkey.pem.
  2. Pour déchiffrer la clé privée, saisissez la commande suivante :
    openssl rsa -in dispkey.pem -out dispkey_unencrypted.pem
  3. Utilisez un éditeur de texte ou la commande
    cat
    pour combiner la clé privée non chiffrée avec le certificat dans un fichier unique semblable à l’exemple suivant :
    -----BEGIN RSA PRIVATE KEY----- MIICxjBABgkqhkiG9w0B... ...M2HWhDn5ywJsX -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIC3TCCAk... ...roZAs= -----END CERTIFICATE-----

Spécification du certificat à utiliser pour Dispatcher

Ajoutez les propriétés suivantes à la configuration du module de Dispatcher (dans
httpd.conf
):
  • DispatcherCertificateFile
     : chemin d’accès au fichier de certificat unifié de Dispatcher, contenant le certificat public et la clé privée non chiffrée. Ce fichier est utilisé lorsque le serveur SSL demande le certificat client de Dispatcher.
  • DispatcherCACertificateFile
     : chemin d’accès au fichier de certificat de l’autorité de certification, utilisé si le serveur SSL présente une autorité de certification qui n’est pas approuvée par une autorité racine.
  • DispatcherCheckPeerCN
     : spécification de l’activation (
    On
    ) ou de la désactivation (
    Off
    ) de la vérification des noms d’hôte pour les certificats du serveur distant.
Le code suivant est un exemple de configuration :
<IfModule disp_apache2.c> DispatcherConfig conf/dispatcher.any DispatcherLog logs/dispatcher.log DispatcherLogLevel 3 DispatcherNoServerHeader 0 DispatcherDeclineRoot 0 DispatcherUseProcessedURL 0 DispatcherPassError 0 DispatcherCertificateFile disp_unified.pem DispatcherCACertificateFile cacert.pem DispatcherCheckPeerCN On </IfModule>