Forum Astuces.divers Scripter la génération de certificat

Posté par . Licence CC by-sa
9
7
oct.
2014

Cher journal,

Internet ne m'a pas beaucoup aidé à trouver une réponse simple et complète à cette question, alors permets moi de te détailler la solution.

La mise en place d'une AC auto-signée est relativement aisée. Il existe plein de tutoriaux sur internet, celui-ci étant par exemple très clair et didactique.

En lisant le man, tu noteras qu'il faut mettre l'AC dans /usr/local/share/ca-certificates et non dans /usr/share/ca-certificates sur les systèmes à base Debian afin qu'elle soit ajouté automatiquement via le script update-ca-certificates en tant qu'AC dite de confiance.

Pour générer automatiquement un certificat, tu peux utiliser et adapter le script ci-dessous:

    #!/bin/bash

    if [ "x$1" = "x" ] ; then
            printf "USAGE:\n  $0 myserver.my-company.lan\n" 1>&2
            exit 1
    fi

    openssl req -new -nodes -batch -newkey rsa:4096 -keyout private/$1.key \
      -out csr/$1.csr -config my-ca-config \
      -subj "/C=FR/ST=My State/L=My Town/O=My Company/CN=$1/emailAddress=certificates@my-company.com"
    openssl ca -passin file:ca.pass -batch -config my-ca-config \
               -policy policy_anything -out certs/$1.crt -infiles csr/$1.csr

    echo "Your private key is here: private/$1.key"
    echo "Your public key is here: certs/$1.crt"

Pour qu'il fonctionne, tu dois créer (et sécuriser l'accès) à un fichier ca.pass contenant en première ligne la pass phrase de ton AC.

Notes

  1. Un fichier de réponse ne marche pas sur la commande openssl req, seule l'option batch et la ligne complète du sujet fonctionnera
  2. Même en 2014, l'option -passin ne fonctionne que si elle est la première option de l'appel à openssl ca.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.