Commander facilement et rapidement un certificat à l'aide de TBSCertBot
Pré-requis
TBSCertBot fonctionne avec php 5.4 et supérieur.
Note : TBSCertbot autodétecte et installe des dépendances. Cependant si vous rencontrez des difficultés, nous vous invitons à mettre à jour vos librairies :
#composer update
Étape 1 - Connexion à TBSCertBot
TBSCertBot nécessite un fichier de configuration pour fonctionner. Ce fichier, nommé conf.ini, est contenu dans le répertoire data.
Le fichier des configuration est au format ini et réunit les informations nécessaires à la connexion à TBSCertBot (identifiant, mot de passe et serveur à utiliser).
Pour créer le fichier de configuration, lancez votre terminal, déplacez-vous dans le répertoire de TBSCertBot et laissez vous guider :
php tbscertbot.php The config file doesn't exist. Do you want create a new config file ? [Y/n] *** Server setting & username/password setting *** 1. Production server 2. Production server IPv4 3. Sandbox server 4. Sandbox server IPv4 Choose a server to use: 1 Username: monLoginAPI Password: monMotDePasseAPI Making Server CALL for test parameters Connexion successful, parameters are valid
ATTENTION : Si vous souhaitez utiliser le serveur Sandbox il vous faudra au préalable créer un compte sur la Sandbox ainsi qu'un accès API. Pour ce faire, suivez les étapes de la section "Comment procéder ?" de la documentation API TBS CERTIFICATS.
Étape 2 - Édition du fichier de configuration (optionnel)
Une fois le fichier de configuration créé, vous pouvez l'éditer pour y faire figurer les informations liées à la demande de certificat (domaine, organisation...).
firstName = John lastName = Smith ;Ceci est un nom de famille
Dans l'exemple précédent, le paramètre "firstName" a la valeur "John", le paramètre "lastName" a la valeur "Smith", ";Ceci est un nom de famille" n'a pas d'incidence sur la valeur du paramètre "lastName" : ce message est purement informatif.
Étape 3 - Passage de la commande
Option 1 : Vous avez édité le fichier de configuration (étape 2)
Lancez votre terminal et déplacez-vous dans le répertoire de TBSCertBot. Ensuite, pour passer commande, il vous suffira de lancer la commande suivante :
php tbscertbot.php order
Retour d'exemple pour ce fichier de test:
Validating all parameters... All parameters are OK! Generating new cryptographic key... - Type = RSA - Length = 2048 New cryptographic key generated! Generating new CSR... - CN = example.org - O = Example Inc - L = Paris - ST = Paris - C = FR New CSR generated! Placing order... Order taken into account under the reference 1444444444. Checking if certificate reference 1444444444 (CN = example.org) is available... -> Certificate is NOT AVAILABLE now, its current state is "Processing". -> Extra information says "Awaiting DCV". DCV: DCV: easyx509.com: DCV Method: HTTPS_CSR_HASH DCV Status: The file is not available yet on your server DCV Checked URL: https://example.org/9116535D66E2F4FC3203AAFCFA6D7F52.txt DCV File: /path/to/TBSCertBot/data/dcv/9116535D66E2F4FC3203AAFCFA6D7F52.txt
La première étape est la génération d'une clé privée suivie par une génération de CSR. Vient ensuite le passage de la commande puis le retour de l'API TBS CERTIFICATS.
Passage de commande avec paramètres
TBSCertBot vous permet de passer un grand nombre de paramètres en arguments de la ligne de commande. La liste complète est disponible dans l'aide : php tbscertbot.php --help.
Par exemple, si vous désirez utiliser l'ensemble de votre fichier de configuration et ne modifier que les domaines du certificat, vous pouvez utiliser la commande suivante :
php tbscertbot.php --maindomain example.com --domain "example.com test.example.com"
Option 2 : Vous n'avez pas édité le fichier de configuration (étape 2)
Dans ce cas il faudra indiquer les informations de commande en mode prompt :
php tbscertbot.php order Validating all parameters... An issue occured with the PRODUCT. Please provide or correct the following information: +-----------------+------------------------------------------------+------------------+---------+ | code | description | validity | license | +-----------------+------------------------------------------------+------------------+---------+ | sslev | Thawte SSL EV | 1, 2, 3, 4, 5 | 0 | | ssl | Thawte SSL Standard | 1, 2, 3, 4, 5 | 0 | | COMqwac | Sectigo Certificate QWAC for 1 Legal Person | 1, 2, 3 | 0 | | COMqwac3+ | Sectigo Certificate QWAC 3+ for 1 Legal Person | 1, 2, 3 | 0 | +-----------------+------------------------------------------------+------------------+---------+ Please input a product: - Code: ssl Please input the desired validity periods in years, or with the suffix d for days Valid period examples: 1, 2, 30d, 90d - Validity: 1 Request Validate An issue occured with the REQUEST. Please provide or correct the following information: - Main Domain: exemple.org If pertinent, please fill the domain list. ...
Cas du DCV
Dans le cas d'un produit doté d'un challenge DCV le retour de la commande vous affichera les détails du DCV.
Dans le cas du DCV email, l'adresse mél sera affichée, ainsi que les adresses mél possibles si vous désirez modifier votre choix.
Dans le cas des challenges HTTP/HTTPS (seule possibilité pour les produits PositiveSSL Web), le retour vous affichera à quelle adresse placer votre fichier ainsi que le chemin complet vers le fichier généré. Une fois ce fichier placé à la racine de votre serveur web, l'appartenance du domaine pourra être établie.
Dans le cas du DCV CNAME, l'enregistrement DNS ainsi que son statut seront affichés.
Étape 4 - Livraison du certificat
Vous pouvez vérifier la livraison de nouveaux certificats à l'aide de la commande :
php tbscertbot.php download
Retour (répertoires par défaut) :
Checking if certificate reference 1444444444 (CN = easyx509.com) is available... -> Certificate has been successfully issued! - Certificate downloaded and saved in file /path/to/TBSCertBot/data/certs/cert-1444444444.cer - Certificate chain downloaded and saved in file /path/to/TBSCertBot/data/certs/chain-1444444444.txt - Moving and renaming private key file to /path/to/TBSCertBot/data/keys/key-1444444444.pkey
Votre certificat est désormais téléchargé. Vous pouvez l'installer sur votre serveur.