StartSSL est un fournisseur de certificats qui semble intéressant. Contrairement aux poids lourds du marché qui sont tous hors de prix pour des budgets limités, StartSSL fournit des certificats pour un unique sous-domaine gratuit et une offre relativement bon marché pour des certificats plus évolués.
Son avantage par rapport à CACert est qu’il est valide au niveau des navigateurs Web du marché (Firefox / Google Chrome / Safari) et qu’il évite donc à l’utilisateur de devoir ajouter une exception pour les sites l’utilisant.
Créer un compte sur le site
La création de compte se passe ici, vous devrez mettre vos informations réelles. Ces informations doivent être liées à un individu et non à une organisation.
Il est ensuite nécessaire d’attendre une validation de votre compte de la part de l’équipe de StartCom.
Vous recevrez ensuite un email vous donnant un accès valable une journée pour créer votre certificat client qui sera installé automatiquement sur votre machine afin de vous identifier sur le site startssl.com.
En cliquant sur le lien du mail vous allez tout d’abord créer la clé (choisissez haut-grade dans le formulaire), puis en continuant, le site installera le certificat sur votre navigateur.
Il est important de faire une sauvegarde de ce certificat (sur une autre machine, un disque dur externe ou tout autre média) car en cas de perte, il ne vous sera plus possible d’avoir accès à votre compte. Afin de sauvegarder ce certificat, il suffit de suivre cette aide.
La création du certificat pour un domaine
Pour créer votre certificat, il faut ensuite aller dans votre panneau de controle. Votre navigateur disposant du certificat client, l’authentification sur le site est rapide, il suffit de cliquer sur le bouton de connexion.
Un formulaire vous demande le nom du domaine concerné [1], puis l’adresse email qui recevra le code de validation.
Un code de validation est envoyé via email afin de valider la création du domaine chez StartSSL. Cette validation est valable 30 jours pour réaliser les opérations suivantes.
Ensuite nous allons créer un CSR (Certificate signing request) sur le serveur conformément à cet autre article.
Retour sur le site StratSSL, comme vous venez de créer votre CSR sur votre serveur, vous pouvez passer l’étape de génération de clé sur le site. Il est ensuite nécessaire de copier le contenu du fichier CSR dans le formulaire du site.
Il est ensuite demandé par le formulaire d’ajouter un sous-domaine pour le certificat (un seul sera possible pour la version gratuite).
L’étape suivante affiche le certificat encodé PEM à copier coller dans un fichier sur le serveur (/etc/ssl/domain.com.crt
si l’on suit la même nomenclature que dans l’article de génération du CSR).
Il faut également récupérer deux autres certificats sur le site de StartSSL, l’intermediate
et le root CA nécessaires sur le serveur :
- cd /etc/ssl
- wget https://www.startssl.com/certs/class1/sha2/pem/sub.class1.server.sha2.ca.pem
- wget https://www.startssl.com/certs/ca.pem
Modification de la configuration d’apache
Pour utiliser le nouveau certificat pour un serveur web il est tout d’abord nécessaire de concaténer le certificat et la clé privée. Pour ce faire il suffit de lancer ces trois commandes :
- cd /etc/ssl
- cat domain.com.key > domain.com.pem
- cat domain.com.crt >> domain.com.pem
Cela créera un fichier contenant à la fois le certificat et la clé.
Il est ensuite nécessaire de modifier le virtualhost ssl comme ceci (dans le cas du virtualhost par défaut d’apache) :
- nano /etc/apache2/sites-available/default-ssl
Et on y ajoute/modifie les lignes suivantes :
- SSLEngine on
- SSLProtocol all -SSLv2
- SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
- SSLCertificateFile /etc/ssl/domain.com.pem
- SSLCertificateChainFile /etc/ssl/sub.class1.server.sha2.ca.pem
- SSLCACertificateFile /etc/ssl/ca.pem
Il suffit ensuite de redémarrer le serveur apache :
- /etc/init.d/apache2 restart
Et de se rendre à l’adresse : https://domain.com
pour se rendre compte que notre certificat est actif et qu’il est valide car le navigateur ne devrait pas demander l’habituelle exception pour un certificat auto signé.
Liens utiles et complémentaires
- SSL Checker : un outil simple et efficace de vérification SSL d’un serveur ;
- SSL labs testeur : outil complet de vérification SSL d’un serveur ;
- StartSSL