{"id":60,"date":"2008-01-27T17:28:06","date_gmt":"2008-01-27T17:28:06","guid":{"rendered":"http:\/\/blog.milamberspace.net\/index.php\/jmeter-site-avec-authentification-par-certificat-ssl"},"modified":"2012-09-28T07:00:44","modified_gmt":"2012-09-28T06:00:44","slug":"jmeter-site-avec-authentification-par-certificat-ssl","status":"publish","type":"page","link":"https:\/\/blog.milamberspace.net\/index.php\/jmeter-pages\/jmeter-site-avec-authentification-par-certificat-ssl","title":{"rendered":"JMeter &#8211; Site avec authentification par certificat SSL"},"content":{"rendered":"<p><em>(mise \u00e0 jour le 1er mai 2011)<\/em><\/p>\n<p>JMeter permet de tester la charge de sites Web qui utilisent le SSL pour s\u00e9curiser le transport en utilisant le protocole \u00ab https \u00bb, et \u00e9galement JMeter permet de tester la charge de sites Web qui utilisent l&rsquo;authentification par certificats SSL.<\/p>\n<p>N\u00e9anmoins, il y a un petit b\u00e9mol, car l&rsquo;enregistrement d&rsquo;une navigation via le HTTP Proxy Server de JMeter permet d&rsquo;enregistrer une session de navigation en HTTPS, mais ne permet pas de faire de l&rsquo;authentification par certificat SSL.<\/p>\n<p>Pour l&rsquo;utilisation du proxy, vous pouvez vous r\u00e9f\u00e9rer \u00e0 <a href=\"http:\/\/blog.milamberspace.net\/?page_id=34\" target=\"_blank\">cet article<\/a>.<\/p>\n<p>Si vous utilisez le Serveur Proxy HTTP de JMeter \u00e0 travers votre navigateur pour aller sur un site demandant une authentification par certificat SSL, vous aurez l&rsquo;erreur \u00ab 501 Method not implemented \u00bb. En effet la n\u00e9gociation de certificat SSL n&rsquo;est pas possible dans JMeter lors de l&rsquo;enregistrement d&rsquo;une session de navigation.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/02-Jmeter-SSL-Proxy.gif\" border=\"1\" alt=\"Erreur 501, m\u00e9thode non impl\u00e9ment\u00e9e\" width=\"586\" height=\"195\" \/><\/p>\n<p>Une alternative possible reste de d\u00e9sactiver temporairement l&rsquo;authentification par certificat SSL sur le site web, si vous en avez la possibilit\u00e9, puis de faire l&rsquo;enregistrement de la session avec JMeter. Pour le test de charge ensuite, l&rsquo;authentification par certificat SSL sera r\u00e9activ\u00e9e.<\/p>\n<p>Sinon, et bien, il vous reste \u00e0 mettre en place vous m\u00eame les requ\u00eates HTTPS de mani\u00e8re manuelle. Voici un exemple de requ\u00eate HTTPS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/02b-Jmeter-SSL-Http-Request.gif\" border=\"1\" alt=\"Configuration HTTP Request Jmeter\" width=\"684\" height=\"312\" \/><\/p>\n<p>Apr\u00e8s avoir &lsquo;jmeteris\u00e9&rsquo; votre sc\u00e9nario fonctionnel, et apr\u00e8s avoir activ\u00e9 l&rsquo;authentification SSL si vous l&rsquo;aviez d\u00e9sactiv\u00e9e, vous pouvez faire un premier test de v\u00e9rification.<\/p>\n<p>Le r\u00e9sultat via un \u00ab View Results Tree \u00bb donnera une erreur \u00ab Non HTTP response code: javax.net.ssl.SSLHandshakeException \u00bb car l&rsquo;authentification SSL n&rsquo;aura pas fonctionn\u00e9.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/03-Jmeter-SSL-Erreur-Certificat.gif\" border=\"1\" alt=\"erreur \u00ab Non HTTP response code: javax.net.ssl.SSLHandshakeException \u00bb\" width=\"670\" height=\"358\" \/><\/p>\n<p>Les donn\u00e9es de r\u00e9ponse sont \u00ab javax.net.ssl.SSLHandshakeException: Received fatel alert: handshake_failure \u00bb<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/04-Jmeter-SSL-Erreur-Certificat-Response-Data.gif\" border=\"1\" alt=\"javax.net.ssl.SSLHandshakeException: Received fatel alert: handshake_failure\" width=\"806\" height=\"301\" \/><\/p>\n<p>Pour permettre \u00e0 JMeter de faire l&rsquo;authentification par certificat SSL, il faut utiliser le menu<strong> Options <\/strong>&gt; <strong>SSL Manager<\/strong>. Ce dernier permet d&rsquo;ajouter un fichier de certificat SSL client pour l&rsquo;authentification.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/05-Jmeter-SSL-Manager.gif\" border=\"1\" alt=\"SSL Manager\" width=\"336\" height=\"122\" align=\"middle\" \/><\/p>\n<p>On s\u00e9lectionne le fichier PKCS (g\u00e9n\u00e9r\u00e9 depuis le gestionnaire SSL du serveur Web &#8211; par exemple OpenSSL).<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/06-Jmeter-SSL-Manager-Import-Client-Certificat.gif\" border=\"1\" alt=\"On s\u00e9lectionne le fichier PKCS\" width=\"511\" height=\"338\" align=\"middle\" \/><\/p>\n<p>Ensuite, on est pr\u00eat \u00e0 faire un nouveau test de tir avec authentification par certificat SSL. Apr\u00e8s avoir lanc\u00e9 le tir<em> (Ctrl+R)<\/em>, JMeter nous demande de saisir le mot de passe du KeyStore (coffre de cl\u00e9s). Donc il faut saisir le mot de passe du fichier PKCS#12 (qui a \u00e9t\u00e9 d\u00e9finit lors de la g\u00e9n\u00e9ration du fichier .p12).<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/07-Jmeter-SSL-KeyStore-Password-Run-Test.gif\" border=\"0\" alt=\"On saisie le KeyStore Password\" width=\"297\" height=\"127\" \/><\/p>\n<p>Et hop, maintenant on peut voir la page prot\u00e9g\u00e9e par certificat SSL, car l&rsquo;authentification s&rsquo;est bien pass\u00e9e.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/images\/jmeter05-img\/08-Jmeter-SSL-Results.gif\" border=\"1\" alt=\"R\u00e9sultat\" width=\"441\" height=\"393\" \/><\/p>\n<p>En r\u00e9sum\u00e9, rien de bien m\u00e9chant pour tester un site web en HTTPS avec authentification par certificat SSL.<\/p>\n<p>Merci JMeter.<\/p>\n<p>.\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(mise \u00e0 jour le 1er mai 2011) JMeter permet de tester la charge de sites Web qui utilisent le SSL pour s\u00e9curiser le transport en utilisant le protocole \u00ab https \u00bb, et \u00e9galement JMeter permet de tester la charge de sites Web qui utilisent l&rsquo;authentification par certificats SSL. N\u00e9anmoins, il y a un petit b\u00e9mol, &hellip; <a href=\"https:\/\/blog.milamberspace.net\/index.php\/jmeter-pages\/jmeter-site-avec-authentification-par-certificat-ssl\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">JMeter &#8211; Site avec authentification par certificat SSL<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":85,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-60","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":6,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/60\/revisions"}],"predecessor-version":[{"id":1212,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/60\/revisions\/1212"}],"up":[{"embeddable":true,"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/pages\/85"}],"wp:attachment":[{"href":"https:\/\/blog.milamberspace.net\/index.php\/wp-json\/wp\/v2\/media?parent=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}