{"id":6954,"date":"2024-03-18T16:30:36","date_gmt":"2024-03-18T16:30:36","guid":{"rendered":"https:\/\/hengowebsite.luong.fr\/?page_id=6954"},"modified":"2024-03-18T16:34:04","modified_gmt":"2024-03-18T16:34:04","slug":"comment-creer-un-certificat-ssl","status":"publish","type":"page","link":"https:\/\/hengowebsite.luong.fr\/?page_id=6954","title":{"rendered":"Comment cr\u00e9er un certificat SSL sur le serveur Ubuntu 20.4"},"content":{"rendered":"<h1 id=\"comment_creer_un_certificat_ssl\" class=\"sectionedit1 page-header\">Comment cr\u00e9er un certificat SSL ?<\/h1>\n<div class=\"level1\">&nbsp;<\/div>\n<div class=\"secedit editbutton_section editbutton_1\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h2 id=\"introduction\" class=\"sectionedit2 page-header\">Introduction<\/h2>\n<div class=\"level2\">\n<p>Dans plusieurs documents du wiki, on aborde la question de la cr\u00e9ation de certificat SSL.<\/p>\n<p>Il existe beaucoup de sites expliquant comment cr\u00e9er un certificat SSL. Voici une technique qui fonctionne mais dans laquelle je ne donne pas de d\u00e9tails.<\/p>\n<\/div>\n<div class=\"secedit editbutton_section editbutton_2\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h2 id=\"pre-requis\" class=\"sectionedit3 page-header\">Pr\u00e9-requis<\/h2>\n<div class=\"level2\">\n<p>Le paquet <code>openssl<\/code> doit \u00eatre install\u00e9 par la commande :<\/p>\n<pre class=\"code\">sudo apt-get install openssl<\/pre>\n<\/div>\n<div class=\"secedit editbutton_section editbutton_3\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h2 id=\"marche_a_suivre\" class=\"sectionedit4 page-header\">Marche \u00e0 suivre<\/h2>\n<div class=\"level2\">&nbsp;<\/div>\n<div class=\"secedit editbutton_section editbutton_4\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h3 id=\"clef_privee_du_serveur\" class=\"sectionedit5\">Clef priv\u00e9e du serveur<\/h3>\n<div class=\"level3\">\n<p>Placez-vous dans le r\u00e9pertoire <code>\/etc\/ssl<\/code> et cr\u00e9ez la cl\u00e9 :<\/p>\n<pre class=\"code\">cd \/etc\/ssl\r\nsudo openssl genrsa -out server.key 2048<\/pre>\n<p>Cette commande va cr\u00e9er la cl\u00e9 priv\u00e9e avec l&rsquo;algorithme RSA 2048 bits.<\/p>\n<\/div>\n<div class=\"secedit editbutton_section editbutton_5\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h3 id=\"demande_de_signature_du_certificat\" class=\"sectionedit6\">Demande de signature du certificat<\/h3>\n<div class=\"level3\">\n<p>Ensuite il faut g\u00e9n\u00e9rer un fichier de \u00ab demande de signature de certificat \u00bb, en anglais CSR : Certificate Signing Request :<\/p>\n<pre class=\"code\">sudo openssl req -new -key server.key -out server.csr<\/pre>\n<p>Vous allez devoir r\u00e9pondre \u00e0 un certain nombre de questions. Veillez surtout \u00e0 mettre le nom du serveur tel qu&rsquo;il est appel\u00e9 de l&rsquo;ext\u00e9rieur dans le champ \u00ab Common Name \u00bb (par exemple : \u00ab\u00a0www.example.com\u00a0\u00bb).<\/p>\n<p>Optionnel : pour visualiser le contenu du fichier g\u00e9n\u00e9r\u00e9 :<\/p>\n<pre class=\"code\">openssl req -text -noout -in server.csr<\/pre>\n<\/div>\n<div class=\"secedit editbutton_section editbutton_6\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h3 id=\"signature_du_certificat\" class=\"sectionedit7\">Signature du certificat<\/h3>\n<div class=\"level3\">\n<p>Enfin, g\u00e9n\u00e9rez ou r\u00e9cup\u00e9rez le certificat sign\u00e9 au format x509 suivant la m\u00e9thode 1 ou 2 :<\/p>\n<ol class=\" fix-media-list-overlap\">\n<li class=\"level1\">\n<div class=\"li\">\n<p>certificat auto-sign\u00e9 pour 365 jours (1 an) :<\/p>\n<pre class=\"code\">sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt<\/pre>\n<p><em>Remarque : ce certificat n&rsquo;est authentifi\u00e9 par aucune autorit\u00e9, vous aurez donc un message d&rsquo;avertissement quand vous vous connectez au serveur. <\/em><\/p>\n<\/div>\n<\/li>\n<li class=\"level1 node\">\n<div class=\"li\">certificat sign\u00e9 par une autorit\u00e9 tierce, par exemple :<\/div>\n<ul class=\" fix-media-list-overlap\">\n<li class=\"level2\">\n<div class=\"li\"><a class=\"urlextern\" title=\"https:\/\/www.cacert.org\" href=\"https:\/\/www.cacert.org\" rel=\"nofollow\">CACert<\/a> : copier\/coller la demande (le fichier server.csr) \u00e0 l&rsquo;autorit\u00e9 qui va signer le certificat \u00e0 utiliser (<a class=\"urlextern\" title=\"https:\/\/www.cacert.org\/account.php?id=10\" href=\"https:\/\/www.cacert.org\/account.php?id=10\" rel=\"nofollow\">ici pour cacert<\/a>).<\/div>\n<\/li>\n<li class=\"level2\">\n<div class=\"li\"><a class=\"urlextern\" title=\"https:\/\/letsencrypt.org\/\" href=\"https:\/\/letsencrypt.org\/\" rel=\"nofollow\">Let&rsquo;s Encrypt<\/a>, avec l&rsquo;option \u2013csr du client letsencrypt (CSR au format DER : option <em> -outform der<\/em> pour openssl)<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/div>\n<div class=\"secedit editbutton_section editbutton_7\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h2 id=\"usage_avance\" class=\"sectionedit8 page-header\">Usage avanc\u00e9<\/h2>\n<div class=\"level2\">&nbsp;<\/div>\n<div class=\"secedit editbutton_section editbutton_8\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h3 id=\"usage_non_interactif\" class=\"sectionedit9\">Usage non interactif<\/h3>\n<div class=\"level3\">\n<p>Pour \u00e9viter de r\u00e9pondre aux questions de la localisation jusqu&rsquo;au domaine, il est possible de passer l&rsquo;argument subject \u00e0 la commande openssl. Ajouter le param\u00e8tre : <em>-subj \u00ab\u00a0\/OU=Domain Control Validated\/CN=exemple.fr\u00a0\u00bb<\/em><\/p>\n<div class=\"noteclassic\"><em>Domain Control Validated<\/em> indique simplement que seule la v\u00e9rification du domaine est effectu\u00e9e. Ce param\u00e8tre peut \u00eatre omis. Il existe une v\u00e9rification DV (celle indiqu\u00e9e) et EV, plus compl\u00e8te. Plus de d\u00e9tails sur <a class=\"urlextern\" title=\"https:\/\/certsimple.com\/blog\/are-ev-ssl-certificates-worth-it\" href=\"https:\/\/certsimple.com\/blog\/are-ev-ssl-certificates-worth-it\" rel=\"nofollow\">ce blog<\/a> (en).<\/div>\n<\/div>\n<div class=\"secedit editbutton_section editbutton_9\">\n<form class=\"button btn_secedit form-inline\" action=\"\/tutoriel\/comment_creer_un_certificat_ssl\" method=\"post\">\n<div class=\"no\">&nbsp;<\/div>\n<\/form>\n<\/div>\n<h3 id=\"parametrage_fin_de_la_csr\" class=\"sectionedit10\">Param\u00e9trage fin de la CSR<\/h3>\n<div class=\"level3\">\n<p>Les CSR permettent de valider plusieurs domaines avec un m\u00eame certificat. Pour l&rsquo;utiliser, cr\u00e9er un fichier <em>openssl_SAN.cnf<\/em> comme-suit :<\/p>\n<pre class=\"file\">[req]\r\nreq_extensions = v3_req\r\ndistinguished_name = req_distinguished_name\r\n\r\n[req_distinguished_name]\r\n\r\n[v3_req]\r\n# Extensions to add to a certificate request\r\nbasicConstraints = CA:FALSE\r\nkeyUsage = digitalSignature, keyEncipherment\r\n\r\n[SAN]\r\nsubjectAltName=DNS:exemple.fr,DNS:www.exemple.fr<\/pre>\n<p>Et ajouter les param\u00e8tres suivants \u00e0 la commande openssl : <em>-config openssl_SAN.cnf -reqexts SAN<\/em><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Comment cr\u00e9er un certificat SSL ? &nbsp; &nbsp; Introduction Dans plusieurs documents du wiki, on aborde la question de la cr\u00e9ation de certificat SSL. Il existe beaucoup de sites expliquant comment cr\u00e9er un certificat SSL. Voici une technique qui fonctionne mais dans laquelle je ne donne pas de d\u00e9tails. &nbsp; Pr\u00e9-requis Le paquet openssl doit [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0},"_links":{"self":[{"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=\/wp\/v2\/pages\/6954"}],"collection":[{"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6954"}],"version-history":[{"count":2,"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=\/wp\/v2\/pages\/6954\/revisions"}],"predecessor-version":[{"id":6957,"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=\/wp\/v2\/pages\/6954\/revisions\/6957"}],"wp:attachment":[{"href":"https:\/\/hengowebsite.luong.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}