|
Annexe E. Génération de certificats SSL |
|
Pour les composants de Dr.Web Security Space qui utilisent le canal de transmission de données sécurisé SSL/TLS et les protocoles applicatifs basés sur lui, tels que HTTPS, LDAPS, SMTPS, etc., il est nécessaire d’assurer la présence de clés SSL privées et des certificats correspondants. Pour certains composants, les clés et les certificats sont générés automatiquement, tandis que pour les autres, ils doivent être fournis par l’utilisateur de Dr.Web Security Space. Tous les composants utilisent des certificats au format PEM. Pour générer des clés privées et des certificats utilisés pour les connexions via SSL/TLS, y compris pour les certificats d’authentification de l’autorité de certification (AC) et pour les certificats signés, vous pouvez utiliser l’utilitaire de ligne de commande openssl (inclus dans le paquet cryptographique OpenSSL). Examinons les étapes nécessaires pour créer une clé privée et le certificat SSL correspondant, ainsi qu’un certificat SSL signé par le certificat d’authentification de l’AC. Pour générer une clé privée SSL et un certificat 1.Pour générer une clé privée (algorithme RSA, longueur de clé : 2048 bits), exécutez la commande suivante :
Si vous souhaitez protéger la clé par un mot de passe, utilisez l’option -des3. La clé générée se trouve dans le fichier keyfile.key du répertoire actuel. Pour afficher la clé générée, vous pouvez utiliser la commande :
2.Pour générer un certificat pour la durée spécifiée à partir de la clé privée existante (dans cet exemple, pour 365 jours), exécutez la commande suivante :
Pour analyser le contenu du certificat généré, vous pouvez utiliser la commande :
Pour enregistrer le certificat en tant que certificat de confiance de l’AC 1.Déplacez ou copiez le fichier de certificat dans le répertoire système des certificats de confiance (sous Debian ou Ubuntu —/etc/ssl/certs). 2.Créez dans le répertoire des certificats de confiance un lien symbolique vers le certificat, dont le nom sera le hash du certificat. 3.Réindexez le contenu du répertoire système des certificats. L’exemple ci-dessous effectue toutes ces trois actions. Il est prévu que le répertoire actuel est le répertoire système des certificats de confiance /etc/ssl/certs et que le certificat à enregistrer comme certificat de confiance se trouve dans le fichier /home/user/ca.crt :
Pour créer un certificat signé 1.Générez un fichier de demande de signature de certificat (Certificate Signing Request — CSR) à partir de la clé privée existante. Si vous ne disposez pas d’une clé, générez-en une. La demande de signature est créée par la commande :
Cette commande, tout comme la commande de création de certificat, demande les données identifiant l’objet certifié. Ici, keyfile.key est le fichier de la clé privée disponible. La demande reçue sera enregistrée dans le fichier request.csr. Pour vérifier le résultat de la création de la demande, utilisez la commande :
2.Pour créer un certificat signé sur la base d’une demande et d’un certificat d’AC existant, utilisez la commande :
Pour vérifier le résultat, utilisez la commande :
Répétez la procédure de création de clé et de certificat (ou de certificat signé, selon besoin) autant de fois que vous avez besoin de certificats uniques. Par exemple, pour des raisons de sécurité, chaque agent d’analyse distribuée des fichiers Dr.Web Network Checker faisant partie du cluster de scan doit disposer de sa propre paire clé/certificat. Conversion d’un certificat signé Certains navigateurs ou clients de messagerie peuvent demander la conversion du certificat signé utilisé pour l’authentification au format PKCS12. Cette conversion s’effectue à l’aide de la commande suivante :
Ici, sigcert.crt est le fichier du certificat signé existant, et keyfile.key est le fichier de la clé privée correspondante. Le certificat converti obtenu sera enregistré dans le fichier sigcert.pfx. |