{"id":1113,"date":"2016-12-09T07:08:02","date_gmt":"2016-12-09T11:08:02","guid":{"rendered":"https:\/\/gonzalo.aro.cl\/blog\/?p=1113"},"modified":"2016-12-09T07:33:29","modified_gmt":"2016-12-09T11:33:29","slug":"habilitar-https-en-jmeter","status":"publish","type":"post","link":"https:\/\/gonzalo.aro.cl\/blog\/2016\/12\/09\/habilitar-https-en-jmeter\/","title":{"rendered":"Habilitar HTTPS en JMeter"},"content":{"rendered":"<p>Una de las situaciones actuales en los momentos de probar un sitio web es poder probar la carga de conexiones hacia el sitio, actualmente muchos de los sitios est\u00e1n ejecutando sobre el protocolo HTTPS por motivos de seguridad. <\/p>\n<p>Para poder hacer las pruebas desde JMeter se tiene que habilitar un certificado para que JMeter pueda conectarse al servidor HTTPS intercambiando sus certificados.<\/p>\n<p>Primero ejecutar el comando<br \/>\nopenssl  s_client  -connect  hostname:port  -showcerts<\/p>\n<p>Para quienes tienen Mac o Linux el comando viene dentro de la instalaci\u00f3n, en windows, recomiendo instalar <a href=\"https:\/\/sourceforge.net\/projects\/openssl\/\">OpenSSL<\/a><\/p>\n<p>Aparecer\u00e1 el certificado del servidor al cual te estas intentando conectar y un segundo certificado, que es el que utiliza openssl. Esta segunda parte copialo y p\u00e9galo en un txt desde BEGIN y END inclusive.<\/p>\n<p>Asumamos que lo guardaste como AppJMeter.cer<\/p>\n<p>Lo segundo es ejecutar keytool de java para guardar el certificado dentro de un almac\u00e9n seguro<\/p>\n<p>keytool -importcert -alias APPLICATION_NAME_CA_PUBLIC_CERT -file AppJMeter.cer -keystore jmeter_truststore.jks -storepass Password01<\/p>\n<p>Finalmente edita <JMETER_HOME>\/bin\/system.properties  e incluye<\/p>\n<p>https.default.protocol=TLSv1<br \/>\njavax.net.ssl.trustStore=C:\/jmeter\/apache-jmeter-2.13\/jmeter_truststore.jks<br \/>\njavax.net.ssl.trustStorePassword=Password01<\/p>\n<p>Esta claro que debes considerar la rutas correctas.<br \/>\nReinicia JMeter y ahora puedes utilizar puerto 443 y protocolo HTTPS<\/p>\n<p><strong>Errores posibles<\/strong><\/p>\n<p>javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure : si se recibe este error es porque los certificados de Java est\u00e1n desactualizados, por lo que debes buscar en <a href=\"https:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jce8-download-2133166.html\">Oracle<\/a> la ultima versi\u00f3n de JCE y copiarlo en <JRE_HOME>\/lib\/security, la actualizaci\u00f3n viene con dos archivos local_policy.jar y US_export_policy.jar, una vez copiados reinicia JMeter<\/p>\n<p>Es posible tambi\u00e9n que recibas otro error por protocolo, hay que ver el nivel de encriptaci\u00f3n del sitio (casi siempre en el candado que aparece en la direcci\u00f3n) y ver que versi\u00f3n TLS esta utilizando. Los sitios mas nuevos est\u00e1n utilizando TLSv1.2 por lo que se debiese cambiar el protocolo dentro del system.properties de JMeter<\/p>\n<p>https.default.protocol=TLSv1.2<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una de las situaciones actuales en los momentos de probar un sitio web es poder probar la carga de conexiones hacia el sitio, actualmente muchos de los sitios est\u00e1n ejecutando sobre el protocolo HTTPS por motivos de seguridad. Para poder hacer las pruebas desde JMeter se tiene que habilitar un certificado para que JMeter pueda [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,72,12],"tags":[],"class_list":["post-1113","post","type-post","status-publish","format-standard","hentry","category-java","category-jmeter","category-web"],"_links":{"self":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts\/1113"}],"collection":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/comments?post=1113"}],"version-history":[{"count":3,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts\/1113\/revisions"}],"predecessor-version":[{"id":1116,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/posts\/1113\/revisions\/1116"}],"wp:attachment":[{"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/media?parent=1113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/categories?post=1113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gonzalo.aro.cl\/blog\/wp-json\/wp\/v2\/tags?post=1113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}