{"id":311,"date":"2016-07-25T09:31:09","date_gmt":"2016-07-25T08:31:09","guid":{"rendered":"http:\/\/charles.dehays.free.fr\/wordpress\/?p=311"},"modified":"2016-07-25T09:31:09","modified_gmt":"2016-07-25T08:31:09","slug":"generer-un-certificat-ssl-autosigne","status":"publish","type":"post","link":"https:\/\/yaka.alwaysdata.net\/index.php\/2016\/07\/25\/generer-un-certificat-ssl-autosigne\/","title":{"rendered":"G\u00e9n\u00e9rer un certificat SSL autosign\u00e9"},"content":{"rendered":"<p>Il peut \u00eatre utile de g\u00e9n\u00e9rer des certificats autosign\u00e9s pour votre serveur (notamment pour l&#8217;acc\u00e8s \u00e0 certains services qui ne n\u00e9cessitent pas forc\u00e9ment un certificat sign\u00e9 par une v\u00e9ritable autorit\u00e9 de certification comme Verisign ou Thawte) : je pense \u00e0 PHPMyAdmin, les consoles d&#8217;administration des sites etc.<!--more--><\/p>\n<p>Voici en quelques \u00e9tapes comment proc\u00e9der :<\/p>\n<p>Installer openssl et activez le mod_ssl d&#8217;apache<br \/>\nSi ce n&#8217;est pas encore le cas, installez openssl et activez le mod_ssl d&#8217;apache (s&#8217;il s&#8217;agit d&#8217;utiliser ce certificat pour https), sinon, sautez cette \u00e9tape (valable sous debian) :<\/p>\n<p>apt-get install openssl<br \/>\na2enmod ssl #ou l&#8217;activer directement en d\u00e9commentant la ligne dans la configuration d&#8217;apache<br \/>\n\/etc\/init.d\/apache restart<br \/>\nG\u00e9n\u00e9rer la cl\u00e9 priv\u00e9e RSA<br \/>\nOpenSSL est l&#8217;utilitaire qui permet de g\u00e9n\u00e9rer des cl\u00e9s priv\u00e9e RSA et le CSR (Certificate Signing Request).<\/p>\n<p>openssl genrsa -des3 -out ligams.com.key 2048<br \/>\n# Enter pass phrase for server.key:XXXXXXXXXX<br \/>\n# Verifying &#8211; Enter pass phrase for server.key:XXXXXXXXXX<br \/>\nG\u00e9n\u00e9rer le CSR<br \/>\nUn fois la cl\u00e9 priv\u00e9e g\u00e9n\u00e9r\u00e9e, le CSR peut \u00eatre g\u00e9n\u00e9r\u00e9. Tapez cette commande et r\u00e9pondez aux questions de la m\u00eame mani\u00e8re que ci-dessous :<\/p>\n<p>openssl req -new -key ligams.com.key -out ligams.com.csr<br \/>\n# Enter pass phrase for server.key:<br \/>\n# Country Name (2 letter code) [AU]:FR<br \/>\n# State or Province Name (full name) [Some-State]:Languedoc-Roussillon<br \/>\n# Locality Name (eg, city) []:Montpellier<br \/>\n# Organization Name (eg, company) [Internet Widgits Pty Ltd]:Ligams<br \/>\n# Organizational Unit Name (eg, section) []:Dev<br \/>\n# Common Name (e.g. server FQDN or YOUR name) []:ligams.com &lt;&#8211; votre domaine<br \/>\n# Email Address []:contact@ligams.com<br \/>\n# A challenge password []:YYYYYYYYYY<br \/>\n# An optional company name []:YYYYYYYYYY<br \/>\nSupprimer le mot de passe de la cl\u00e9<br \/>\nUtilisez les commandes suivante pour enlever le mot de passe :<\/p>\n<p>cp ligams.com.key ligams.com.tmp<br \/>\nopenssl rsa -in ligams.com.tmp -out ligams.com.key<br \/>\n# Enter pass phrase for ligams.com.tmp:XXXXXXXXXX<br \/>\nG\u00e9n\u00e9rer un certificat autosign\u00e9<br \/>\nCe certificat n&#8217;\u00e9tant pas sign\u00e9 par une autorit\u00e9 de certification (CA), cela g\u00e9n\u00e9rera une erreur sur les navigateurs internet, mais ce n&#8217;est pas vraiment grave pour ce qui nous concerne ; g\u00e9n\u00e9rons un certificat valable 10 ans :<\/p>\n<p>openssl x509 -req -days 3650 -in ligams.com.csr -signkey ligams.com.key -out ligams.com.crt<br \/>\nModifiez le VirtualHost Apache de votre site<br \/>\n*:443 signifie que ce VirtualHost r\u00e9pondra sur le port 443 (cette configuration n&#8217;est valable que si vous avec ajout\u00e9 un NameVirtualHost *:443 dans votre conf), il faut activer SSL pour ce VirtualHost et indiquer les chemin vers le certificat :<\/p>\n<p>&lt;VirtualHost *:443&gt;<br \/>\nDocumentRoot &#8220;\/var\/www\/ligams.com&#8221;<br \/>\nServerName ligams.com<br \/>\nSSLEngine on<br \/>\nSSLCertificateFile \/etc\/ssl\/ligams.com.crt<br \/>\nSSLCertificateKeyFile \/etc\/ssl\/ligams.com.key<br \/>\n&lt;\/VirtualHost&gt;<br \/>\nVoici ce que cela devrait donner dans un navigateur (ici firefox) :<\/p>\n<p><a href=\"http:\/\/yaka.alwaysdata.net\/wp-content\/uploads\/2016\/07\/connexion-non-certifiee-ssl-https.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/yaka.alwaysdata.net\/wp-content\/uploads\/2016\/07\/connexion-non-certifiee-ssl-https.png\" width=\"709\" class=\"alignleft wp-image-313 size-full\" alt=\"connexion-non-certifiee-ssl-https\" height=\"425\" srcset=\"https:\/\/yaka.alwaysdata.net\/wp-content\/uploads\/2016\/07\/connexion-non-certifiee-ssl-https.png 709w, https:\/\/yaka.alwaysdata.net\/wp-content\/uploads\/2016\/07\/connexion-non-certifiee-ssl-https-300x180.png 300w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/a><br \/>\nRemarque : si vous n&#8217;obtenez pas de r\u00e9ponse du serveur, v\u00e9rifiez votre configuration d&#8217;apache (notamment que les directives Listen 443).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il peut \u00eatre utile de g\u00e9n\u00e9rer des certificats autosign\u00e9s pour votre serveur (notamment pour l&#8217;acc\u00e8s \u00e0 certains services qui ne n\u00e9cessitent pas forc\u00e9ment un certificat sign\u00e9 par une v\u00e9ritable autorit\u00e9 de certification comme Verisign ou Thawte) : je pense \u00e0 PHPMyAdmin, les consoles d&#8217;administration des sites etc.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-311","post","type-post","status-publish","format-standard","hentry","category-astuce-informatique"],"_links":{"self":[{"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/posts\/311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/comments?post=311"}],"version-history":[{"count":0,"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/posts\/311\/revisions"}],"wp:attachment":[{"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/media?parent=311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/categories?post=311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yaka.alwaysdata.net\/index.php\/wp-json\/wp\/v2\/tags?post=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}