Mise en place de hook pour le DCV HTTP/HTTPS dans TBSCertBot
TBSCertBot permet de valider le contrôle de domaine (DCV) en utilisant différentes méthodes, y compris le DCV HTTP/HTTPS.
Cette documentation explique comment mettre en place un hook pour générer le fichier DCV et le placer dans le répertoire souhaité.
La création de hooks
Vous pouvez créer autant de hooks que vous le souhaitez. Une fonctionnalité de test intitulée « test-hook » existe au sein de TBSCertBot spécifiquement pour tester vos hooks.
Comment tester vos hooks ?
Pour tester un hook, il faut utiliser la commande :
php tbscertbot.php test-hook NOM_DU_HOOK [Référence TBS].
La référence TBS est optionnelle. Indiquez-là si vous souhaitez tester votre hook sur une commande sépcifique. Exemple :
php tbscertbot.php test-hook download 1234567890.
Cette commande relancera le script lié au hook de téléchargement sur la commande 1234567890. Vous trouverez quelques exemples de hooks dans le répertoire data/testhooks de votre installation TBSCertBot.
Configuration du paramètre DCV
Le paramètre DCV (Domain Control Validation) peut être configuré de deux manières différentes :
- Dans le fichier de configuration : Vous pouvez définir le
paramètre DCV directement dans le fichier de configuration :
[REQUEST] domainControlValidation = HTTP_CSR_HASH - En ligne de commande : Vous pouvez spécifier le paramètre
DCV lors de l'exécution de la commande order TBSCertBot. Voici un exemple de commande en ligne :
#php tbscertbot.php order --product ssl --maindomain domain.tld --dcv HTTP_CSR_HASH
Les valeurs disponibles pour la méthode DCV du fichier de configuration sont :
- HTTP_CSR_HASH : fichier texte à placer dans votre site Web accessible en HTTP
- HTTPS_CSR_HASH : fichier texte à placer dans votre site Web accessible en HTTPS
- CNAME_CSR_HASH : entrée CNAME à ajouter à votre configuration DNS
- DNSTXT_CSR_HASH (uniquement pour les produits DigiCert) : entrée TXT à ajouter à votre configuration DNS
- Adresse mél : une adresse mél valide parmi admin@, administrator@, hostmaster@, postmaster@, webmaster@domain.tld
Hook DCV
Variables d'environnement
Les variables d'environnement suivantes sont définies pour utiliser la fonctionnalité DCV :
- PHP_TBS_DCV_METHOD : Méthode de DCV (par exemple, http-token)
- PHP_TBS_DCV_DOMAIN_ROOT : Domaine racine pour le DCV
- PHP_TBS_DCV_DOMAIN_SUB : Sous-domaine pour le DCV
- PHP_TBS_DCV_VALUE : Valeur pour le DCV
- PHP_TBS_DNS_ACTION : Action pour le DNS (CREATE ou UPDATE)
- PHP_TBS_REGISTRAR : Registrar du domaine (par exemple, GANDI SAS ou OVH SAS)
Configuration du hook DCV
- Dans le fichier de configuration : Ajoutez la configuration du hook
DCV dans le fichier conf.ini. Voici un exemple :
[HOOKS] dcv = /chemin/vers/exportDCVScript.sh
Script
# paramètres du fichier DCV SSHHOST="serveur.domaine.tld" SSHUSER="identifiant" SSHPASS="VOTRE_MOT_DE_PASSE" SSHPATH="chemin" # Uniquement si PHP_TBS_DCV_METHOD est vide ou a la valeur http-token echo "Method : PHP_TBS_DCV_METHOD" if [ -z "$PHP_TBS_DCV_METHOD" ] || [ "$PHP_TBS_DCV_METHOD" = "http-token" ]; then echo "Send the DCV file to the server" export SSHPASS="$SSHPASS" sshpass -e sftp -oBatchMode=no -b - "$SSHUSER"@"$SSHHOST" ‹‹ ! cd "$SSHPATH"/.well-known/pki-validation put $PHP_TBS_DCV bye ! fi
Affichage des valeurs DCV et de leurs statuts
Les valeurs DCV et leurs statuts peuvent être affichés en utilisant la commande status de TBSCertBot. Voici un exemple :
#php tbscertbot.php status REFERENCE
exemple de résultat :
DCV:
test.domain.tld: unapproved
-> DCV Method: http-token
-> DCV File location: http://test.domain.tld/.well-known/pki-validation/7912F4DA0F3E42E92CA593F8E319AE2F.txt
-> DCV File content: c74735f59b4f108da31dfe37ca375493f53cc603354155bd05f7bb2c530039b4
trust-provider.com
XjqHgF6uSTqO7gCwvop7
Mise à jour des informations en mode cron
Si le DCV n'est pas connu au moment de la commande, TBSCertBot peut être lancé en mode cron pour recevoir les informations permettant de définir les valeurs. Une fois configuré, les refabrications utiliseront les mêmes mécaniques.


