Les instructions sont données sur cette page.
Après vous être acquitté des démarches indiquées sur la page référencée ci-dessus, vous allez pouvoir obtenir des certificats.
Vous devez fournir une CSR (Certificate Signing Request) lors de votre demande de certificat sur la plateforme de l'opérateur de certificats. Habituellement, les demandes se font à l'aide d'openssl à l'aide d'une commande du type :
openssl req -new -newkey rsa:2048 -keyout clepriveeàconserver.pem -out monfichierdecsr.pem -subj "/C=FR/O=mon etablissement/CN=nomdelamachine/"
Vous pouvez passer par ici pour une demande plus complexe.
Celle-ci est un exemple mais Vous devez vous limiter aux domaines autorisés pour votre établissement. Sinon votre requête risque d'être refusée par notre service d'enregistrement.
Pour la génération des CSR, vous pouvez également :
Oui, vous pouvez demander un certificat serveur du type *.mondomaine.tld .
La seule contrainte que vous avez est que le CN corresponde bien à un domaine de votre établissement déclaré lors de sa souscription au service TCS.
L'avantage de ces certificats est évident : un seul certificat permet de configurer autant de serveurs SSL que l'on souhaite ; soit des serveurs virtuels sur un même host soit sur des hosts différents. Il y a une réelle économie pour les différentes opérations de gestion du cycle de vie des certificats (en particulier pour le renouvellement).
Cependant, il ne faut pas négliger les inconvénients de ces certificats :
Pour tempérer les inconvénients liés aux wildcard certificates, sachez qu'il est possible de demander plusieurs certificats avec “cn=*.mondomaine.fr”. Vous pouvez donc par exemple demander un certificat de ce type pour chaque serveur physique hébergeant plusieurs virtual hosts HTTP.
Pour limiter les risques liés à l'utilisation des wildcard certificates, n'utilisez pas un seul certificat wildcard sur plusieurs machines physiques distinctes. Si vous avez besoin de wildcard certificates pour plusieurs machines physiques distinctes, demandez autant de wildcard certificates que de machines.
Pour obtenir un wildcard certificate il suffit de faire une demande pour *.mon-domaine.fr comme si c'était un vrai nom de machine. La procédure est la même que pour un certificat normal.
Vous pouvez le faire en déposant une CSR spécifique. Dans ce cas, utilisez de préférence le script ci-dessous pour composer une CSR complexe. Vous pouvez aussi choisir de le faire au moment du dépôt de la demande, en complétant la demande dans l'interface TCS, après validation de la CSR.
Les CN peuvent correspondre à des domaines différents mais tous les domaines doivent être des domaines de votre établissement déclarés dans la lettre d'engagement. Les “wildcard” sont prohibés dans les SAN.
Vous pouvez utiliser le script suivant :
#!/bin/sh # csr.sh: Certificate Signing Request Generator # be safe about permissions LASTUMASK=`umask` umask 077 # OpenSSL for HPUX needs a random file RANDOMFILE=$HOME/.rnd # create certs did if dos not exists KEYFILE=${HOME}/certs [ -d $KEYFILE ] || mkdir $KEYFILE # create a config file for openssl CONFIG=`mktemp -q /tmp/openssl-conf.XXXXXXXX` if [ ! $? -eq 0 ]; then echo "Could not create temporary config file. exiting" exit 1 fi echo "Private Key and Certificate Signing Request Generator" echo printf "Établissement: " read ORGANIZATION printf "Composante (optionnel : taper entrée pour passer):" read OU printf "Province ou Région (optionnel : taper entrée pour passer):" read STATE printf "Ville (optionnel : taper entrée pour passer):" read LOCALITY printf "Adresse email (optionnel : taper entrée pour passer):" read EMAILADDRESS printf "Nom court (ie. imap big_srv www2): " read HOST printf "FQDN/Nom commun (ie. www.example.com) : " read COMMONNAME echo "Taper les SubjectAltNames pour ce certificat, un par ligne. Entrée une ligne vide pour finir" SAN=1 # bogus value to begin the loop SANAMES="" # sanitize while [ ! "$SAN" = "" ]; do printf "SubjectAltName: DNS:" read SAN if [ "$SAN" = "" ]; then break; fi # end of input if [ "$SANAMES" = "" ]; then SANAMES="DNS:$SAN" else SANAMES="$SANAMES,DNS:$SAN" fi done # Config File Generation cat <<EOF > $CONFIG # -------------- BEGIN custom openssl.cnf ----- HOME = $HOME EOF if [ "`uname -s`" = "HP-UX" ]; then echo " RANDFILE = $RANDOMFILE" >> $CONFIG fi cat <<EOF >> $CONFIG oid_section = new_oids [ new_oids ] [ req ] default_days = 730 # how long to certify for default_keyfile = ${HOME}/certs/${HOST}_privatekey.pem distinguished_name = req_distinguished_name encrypt_key = no string_mask = nombstr EOF if [ ! "$SANAMES" = "" ]; then echo "req_extensions = v3_req # Extensions to add to certificate request" >> $CONFIG fi cat <<EOF >> $CONFIG [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = FR countryName_min = 2 countryName_max = 2 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ORGANIZATION EOF if [ ! "$OU" = "" ]; then cat <<EOF >> $CONFIG organizationalUnitName = organizational Unit Name (eg, unit) organizationalUnitName_default = $OU EOF fi if [ ! "$STATE" = "" ]; then cat <<EOF >> $CONFIG stateOrProvinceName = State stateOrProvinceName_default = $STATE EOF fi if [ ! "$LOCALITY" = "" ]; then cat <<EOF >> $CONFIG localityName = locality name (eg city) localityName_default = $LOCALITY EOF fi cat <<EOF >>$CONFIG commonName = Common Name (eg, YOUR name) commonName_default = $COMMONNAME commonName_max = 64 EOF if [ ! "$EMAILADDRESS" = "" ]; then cat <<EOF >> $CONFIG emailAddress = Email Address emailAddress_default = $EMAILADDRESS emailAddress_max = 64 EOF else cat <<EOF >> $CONFIG EOF fi if [ ! "$SANAMES" = "" ]; then echo "[ v3_req ]" >> $CONFIG echo "subjectAltName=$SANAMES" >> $CONFIG fi echo "# -------------- END custom openssl.cnf -----" >> $CONFIG echo "Running OpenSSL..." openssl req -batch -config $CONFIG -newkey rsa:2048 -out ${HOME}/certs/${HOST}_csr.pem echo "Copy the following Certificate Request and paste into CAcert website to obtain a Certificate." echo "When you receive your certificate, you 'should' name it something like ${HOST}_server.pem" echo cat $HOME/certs/${HOST}_csr.pem echo echo The Certificate request is also available in ${HOME}/certs/${HOST}_csr.pem echo The Private Key is stored in ${HOME}/certs/${HOST}_privatekey.pem echo rm $CONFIG #restore umask umask $LASTUMASK
Oui. Sachez alors qu'il risque de ne pas générer un fichier .key comme dans nos exemples. Reportez-vous alors à sa documentation pour connaître le processus de demande et d'intégration du certificat. Vérifiez la présence des 3 champs obligatoires : O , C et CN sinon votre requête risque d'être refusée par notre service d'enregistrement.