Certificat SSL gratuit

2015juil.30

Vous avez besoin d’un certificat SSL pour votre application ou votre site internet sans débourser 1 centime ? C’est possible grâce à StartSSL, qui vous propose gratuitement des certificats valides pour votre site et valides pour la visite de vos internautes. (pas de problème liés aux certificats auto-signés).

Et si en plus vous disposez d’Apache sur votre serveur Web, à vous les joies de disposer de plusieurs sites web sécurisés sans devoir avoir besoin de plusieurs adresses IP distinctes. En effet, avec SNI (Server Name Indication), les navigateurs modernes envoient désormais lors du premier échange SSL, le nom de l’hôte qu’ils souhaitent contacter, ce qui permet à Apache d’identifiier le VirtualHost correspond sans se baser uniquement sur l’adresse IP appelée.

De plus, dans le cas d’une application, si vous souhaitez mettre en place des accès vers les API Google, Dropbox et souhaitez utiliser le protocole OAuth2, il faudra que vous puissiez héberger des pages sécurisés SSL sur votre site internet. (et lors du lancement d’un nouveau service, vous ne souhaitez pas forcément payer)

Créez votre compte

Pour obtenir votre nouveau certificat, vous devez d’abord créer votre compte sur StartSSL, c’est entièrement gratuit. La création de compte se fait en 4 étapes :

  1. vous devez renseigner vos informations personnelles
  2. un code de confirmation sera envoyé sur votre adresse email
  3. une fois le code de validation renseigné, StartSSL validera votre compte et vous enverra un second code
  4. une fois le second code renseigné, un certificat sera installé dans votre navigateur ce qui vous permettra d’accéder aux services SartSSL sans mot de passe (ce certificat peut être installé sur d’autres navigateurs / ordinateurs en allant dans les préférences de gestion des certificats de votre navigateur).

Déclarez des noms de domaine

Pour créer vos certificats SSL, vous devez au préalable enregistrer des noms de domaines dans votre compte. Pour cela :

  1. Renseignez votre nom de domaine
  2. 1 email sera envoyé à une adresse que vous aurez défini (webmaster@ndd.fr par exemple)
  3. Validez le code de confirmation que vous aurez reçu

Dès que votre domaine est validé, il est disponible pour une durée de 30 jours, durant cette période vous pouvez générez autant de certificat que vous souhaitez. Passé les 30 jours, il faudra recommencer la procédure de déclaration.

Créez votre CSR

Lors de la demande d’émission d’un nouveau certificat pour votre serveur, vous devez générer une CSR (Certificate Signing Request). Pour cela, exécutez les commandes suivantes sur votre serveur :

mkdir /etc/apache2/ssl
cd /etc/apache2/ssl
openssl genrsa 2048 > certif.key
openssl req -new -key certif.key > certif.csr

Une fois votre clef et votre CSR générée, copier le contenu de clef.csr sur le site de StartSSL.

Récupérez votre certificat

Vous venez d’envoyer votre CSR, StartSSL, renseignez maintenant l’adresse FQDN d’accès à votre site internet et StartSSL vous retournera aussitôt votre certificat SSL. Téléchargez-le ainsi que les certificats racine et intermédiaire qui vous seront proposés.

Installation dans apache

Ça y est, vous êtes à la fin, il ne vous plus qu’à installer votre nouveau certificat sur votre serveur web et voir apparaître votre site internet ou votre application avec un joli cadenas.

#activez le mod-ssl
a2enmod ssl

#créer un fichier dans /etc/apache2/sites-available/monsite.ssl et ajoutez le contenu ci-dessous
<VirtualHost IP_DU_SERVEUR:443>
 ServerName NOM_DE_DOMAINE (FQDN)
 ServerAdmin EMAIL_ADMIN

 DocumentRoot CHEMIN_DES_FICHIERS_DU_SITE

 # SSL Engine Switch:
 # Enable/Disable SSL for this virtual host.
 SSLEngine on

 SSLCertificateFile /etc/apache2/ssl/certif.crt
 SSLCertificateKeyFile /etc/apache2/ssl/certif.key
 SSLCertificateChainFile /etc/apache2/ssl/certif.inter

 BrowserMatch "MSIE [2-6]" \
 nokeepalive ssl-unclean-shutdown \
 downgrade-1.0 force-response-1.0
 # MSIE 7 and newer should be able to use keepalive
 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown


 LogLevel warn

 ErrorLog CHEMIN_FICHIER_LOG/ssl-error.log
 CustomLog CHEMIN_FICHIER_LOG/ssl-access.log combined
</VirtualHost>

#activer votre site
a2ensite monsite

#recharger apache
/etc/init.d/apache2 reload

A ce point-ci, vous devriez être en mon d’accéder à votre site internet ou application via une bonne adresse HTTPS !

Commentaires

Albert

très bonne idée et bon tuto pour l'installation !

Merci !

2015sept.18

 Clément Levallois
 18000 Bourges
 SIRET : 81783887300021