Tags Alixo Autorité de certification IpTables Windows7 Jquery Création de site web linux CMS Accusé réception Notepad++ PHP disque virtuel Javascript Windows XP VMware office 2007 HTML bonnes adresses optimisation Réseau Facebook Compte utilisateur Sécurisation Redimensionnement image Virtualisation Certificat OpenSSL Nowwweb.com windows e-mail | Création d'un certificat SSLIl existe beaucoup de tutoriels sur Internet qui montre comment créer des certificats en utilisant OpenSSL. La plupart sont en anglais même s’il en existe quelques-uns en français. L'opération est assez complexe ce qui explique la longueur de ces tutoriels. Cependant, il est assez difficile pour un néophyte de savoir ce que l'on fait vraiment après avoir copié coller les commandes indiquées dans ces derniers. J'ai réalisé ce tutoriel afin d'expliquer au mieux la création de certificats SSL, mais sans entrer dans les détails. Pour ceux que ça intéresse, voici 2 liens expliquant très bien le fonctionnement du chiffrement des communications par Socket SSL : Source commentcamarche.net Cryptographie - Secure Sockets Layers (SSL) Schéma général
Avant de partir dans les lignes de commande. Voici un schéma représentant les fichiers qui vont être générés dans ce tutoriel et leur futur emplacement dans un réseau quelconque. Pré requisAvant de commencer à jouer à "l'autorité de certification", vous aurez besoin au préalable d'installer les logiciels suivants : OpenSSL
Vous permettra de créer un certificat autosigné. Ce certificat pourra être utilisé pour test et/ou pour une application en exploitation. Pour cela, il est nécessaire d'utiliser la bibliothèque open source OpenSSL. Dépendances d’OpenSSL
OpenSSL nécessite Microsoft Visual C++ 2008 Redistributable pour fonctionner si vous ne l’avez pas il faut aussi l’installer. Perl
Pour l’exécution des scripts Perl ci-dessous vous aurez d’un moteur Perl sur votre ordinateur. Créer une autorité de certification
Une autorité de certification est une entité ayant le pouvoir de signer des certificats. Le client doit installer le certificat de l'autorité de certification dans les sociétés dites "de confiance" pour que tous les certificats signés par cette autorité et ne présentant pas de défaut soient acceptables.
C:>cd "C:OpenSSL-Win64" - Saisir : CA.pl -newca - Tapez [Entrée] pour créer une nouvelle CA. CA certificate filename (or enter to create) - Saisissez le mot de passe de la clé privée (2 fois).
Making CA certificate ...
----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:FR State or Province Name (full name) [Some-State]:France Locality Name (eg, city) []:Chalons-en-Champagne Organization Name (eg, company) [Internet Widgits Pty Ltd]:NowwweB Organizational Unit Name (eg, section) []:NowwweB Common Name (eg, YOUR name) []:NowwweB.com Email Address []:contact@nowwweb.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: << Optionnel An optional company name []:NowwweB Using configuration from C:OpenSSL-Win64inopenssl.cfg Loading 'screen' into random state - done Enter pass phrase for ./demoCA/private/cakey.pem: Check that the request matches the signature Signature ok Certificate Details: Serial Number: f5:f5:c4:62:33:53:d8:ab Validity Not Before: Jul 22 10:39:18 2011 GMT Not After : Jul 21 10:39:18 2014 GMT Subject: countryName = FR stateOrProvinceName = France organizationName = NowwweB organizationalUnitName = NowwweB commonName = NowwweB.com emailAddress = contact@nowwweb.com X509v3 extensions: X509v3 Subject Key Identifier: 89:A7:C4:34:5F:2A:9A:E7:F9:F1:78:7A:D1:5B:F9:5C:C0:CA:EB:C8 X509v3 Authority Key Identifier: keyid:89:A7:FA:34:51:1A:B5:F7:09:F1:78:7A:D1:FF:F8:5A:FF:CF:FB:58 X509v3 Basic Constraints: CA:TRUE Certificate is to be certified until Jul 21 10:39:18 2014 GMT (1095 days) Write out database with 1 new entries Data Base Updated A l'issue du script, dans le sous-répertoire "demoCA" vous trouverez 2 fichiers :
./cacert.pem (la partie publique du certificat qui servira à signer les autres). - Copiez le fichier "./cacert.pem" et le renommer en cacert.crt. Ce fichier devra être installé sur toutes les machines qui communiqueront avec des serveurs dont le certificat aura été signé par cette autorité. Voir : installation d'un certificat. Votre autorité de certification est maintenant créée et prête à l'emploi. Un problème ?Vous vous être trompé ou souhaitez simplement recommencé. Mais la commande « CA.pl –newca » ne répond pas. Pour recommencer, supprimer tout les dossiers sauf, ./PEM situés dans le répertoire « bin » de votre installation d’OpenSSL. Créer un certificat pour votre serveurLa création de votre certificat serveur comporte 3 étapes :
Création d'une demande pour un nouveau certificat serveurVous allez maintenant demander un certificat pour votre serveur à l'autorité de certification que vous venez de créer dans l'étape précédente. C'est un peu comme remplir la carte d'identité du serveur qui sera validé par la suite. Pour ce faire, exécutez la commande suivante (toujours à partir du répertoire bin) :
Tapez [Entree] et suivez les questions:
Loading 'screen' into random state - done
Signer le certificat serveur avec votre clé d'autorité de certificationCette étape consiste à faire reconnaître l'identité de votre serveur par l'autorité de certification. Utiliser la commande suivante (toujours à partir du dossier ./bin d'OpenSSL) pour signer la demande avec l'autorité créée : CA.pl -sign Tapez [Entree] et suivez les questions:
C:OpenSSL-Win64in>CA.pl -sign Deux fichiers sont alors créés dans le répertoire <RepOpenSSL>/bin : newreq.pem et newreq.key. Le fichier newcert.pem vous permettra par la suite de générer le certificat complet du serveur. Génération du certificat server completNous allons maintenant procéder à la création du certificat final qui devrat être installé sur votre serveur avec la commande suivante :
Tapez [Entree] et suivez les questions.
Loading 'screen' into random state - done Le fichier newcert.p12 est créé. C'est ce fichier qu'il faut installer sur le serveur (iniquement). Lors de l'installation (voir: installation d'un certificat), ne pas cocher la case "Activer la sécurité renforcée" : si cette option est cochée, le mot de passe de la clé privée serait demandée à chaque appel. ConclusionFélicitations, si vous avez suivi chaque étape à la lettre vous avez probablement réussi à reproduire toute la chaîne qui permet d'émettre et d'utiliser les certificats pour sécuriser les communications entre vos serveurs et ses clients. Cependant, personne n'est parfait, si vous voyez quelque chose d'incorrect ou précision quelconque à apporter, n'hésiter pas et publiez vos critiques en bas de la page je me ferais une joie de le les intégrer dans ce tutoriel.
Ecrit par Nicolas COMPAIN le 22/07/2011
Dernière modification le 29/07/2011 Categorie : Sécurisation de vos systèmes informatiques Autres articles sur : SSL , OpenSSL , Certificat , Autorité de certification , Sécurisation Commentaires |