<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="https://nmz.me/feed.xml" rel="self" type="application/atom+xml" /><link href="https://nmz.me/" rel="alternate" type="text/html" /><updated>2022-11-08T19:56:48+00:00</updated><id>https://nmz.me/feed.xml</id><title type="html">nmz.me</title><subtitle>This is my public notebook.
</subtitle><entry><title type="html">How to check remote TLS settings</title><link href="https://nmz.me/tls/2020/10/16/check-remote-tls-settings.html" rel="alternate" type="text/html" title="How to check remote TLS settings" /><published>2020-10-16T20:00:00+00:00</published><updated>2020-10-16T20:00:00+00:00</updated><id>https://nmz.me/tls/2020/10/16/check-remote-tls-settings</id><content type="html" xml:base="https://nmz.me/tls/2020/10/16/check-remote-tls-settings.html">&lt;p&gt;Recently helping a friend that was facing problems using some government API between the test and production environment, I suspected that the issue was related to the SSL/TLS version that was enabled on both sites.
Here are some handy scripts for checking that setting on remote sites.&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;nmap &lt;span class=&quot;nt&quot;&gt;--script&lt;/span&gt;  ssl-enum-ciphers &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; 443 nmz.me
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;And here’s the output&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Starting Nmap 7.80 &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt; https://nmap.org &lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; at 2020-10-16 17:51 &lt;span class=&quot;nt&quot;&gt;-03&lt;/span&gt;
Nmap scan report &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;nmz.me &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;104.27.148.109&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Host is up &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;0.28s latency&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
Other addresses &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;nmz.me &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;not scanned&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;: 172.67.199.116 104.27.149.109 2606:4700:3034::681b:956d 2606:4700:3036::681b:946d 2606:4700:3036::ac43:c774

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers: 
|   TLSv1.0: 
|     ciphers: 
|       TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|     compressors: 
|       NULL
|     cipher preference: server
|   TLSv1.1: 
|     ciphers: 
|       TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|     compressors: 
|       NULL
|     cipher preference: server
|   TLSv1.2: 
|     ciphers: 
|       TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|       TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256-draft &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;ecdh_x25519&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; - A
|     compressors: 
|       NULL
|     cipher preference: client
|_  least strength: A

Nmap &lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;: 1 IP address &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;1 host up&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; scanned &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;13.41 seconds
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Here’s another handy script in case you don’t have nmap installed. (Found on StackOverflow)&lt;/p&gt;
&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/env bash&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# OpenSSL requires the port number.&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;SERVER&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$1&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;DELAY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1
&lt;span class=&quot;nv&quot;&gt;ciphers&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;openssl ciphers &lt;span class=&quot;s1&quot;&gt;'ALL:eNULL'&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'s/:/ /g'&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;Obtaining cipher list from &lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;openssl version&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;cipher &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;ciphers&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[@]&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;do
&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt; Testing &lt;span class=&quot;nv&quot;&gt;$cipher&lt;/span&gt;...
&lt;span class=&quot;nv&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt; | openssl s_client &lt;span class=&quot;nt&quot;&gt;-cipher&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$cipher&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-connect&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$SERVER&lt;/span&gt; 2&amp;gt;&amp;amp;1&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[[&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$result&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;~ &lt;span class=&quot;s2&quot;&gt;&quot;:error:&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;]]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;then
  &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;error&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$result&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;':'&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f6&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;NO &lt;span class=&quot;se&quot;&gt;\(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$error&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;else
  if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[[&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$result&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;~ &lt;span class=&quot;s2&quot;&gt;&quot;Cipher is &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;cipher&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$result&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;~ &lt;span class=&quot;s2&quot;&gt;&quot;Cipher    :&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;]]&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;then
    &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;YES
  &lt;span class=&quot;k&quot;&gt;else
    &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;UNKNOWN RESPONSE
    &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$result&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;fi
fi
&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sleep&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$DELAY&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;And this is the sample output:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;➜  scripts git:&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;master&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; ✗ ./show_ssl_ciphers.sh wsaahomo.afip.gov.ar:443
Obtaining cipher list from OpenSSL 1.1.1f 31 Mar 2020.
Testing TLS_AES_256_GCM_SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;SSL_CTX_set_cipher_list&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing TLS_CHACHA20_POLY1305_SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;SSL_CTX_set_cipher_list&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing TLS_AES_128_GCM_SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;SSL_CTX_set_cipher_list&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-AES256-GCM-SHA384...YES
Testing DHE-DSS-AES256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-AES256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;141A318A&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-CHACHA20-POLY1305...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-CHACHA20-POLY1305...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-CHACHA20-POLY1305...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES256-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES256-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-AES256-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-AES256-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-AES256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-AES128-GCM-SHA256...YES
Testing DHE-DSS-AES128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-AES128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;141A318A&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES128-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES128-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-AES128-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-AES128-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-AES128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES256-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-AES256-SHA384...YES
Testing DHE-RSA-AES256-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;141A318A&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-AES256-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-CAMELLIA256-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-CAMELLIA256-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-CAMELLIA256-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-CAMELLIA256-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-AES256-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-CAMELLIA256-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-AES128-SHA256...YES
Testing DHE-RSA-AES128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;141A318A&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-AES128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-AES128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-AES256-SHA...YES
Testing DHE-RSA-AES256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;141A318A&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-AES256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-CAMELLIA256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-CAMELLIA256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AECDH-AES256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-AES256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-CAMELLIA256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-AES128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-AES128-SHA...YES
Testing DHE-RSA-AES128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;141A318A&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-AES128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-SEED-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-SEED-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-RSA-CAMELLIA128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-DSS-CAMELLIA128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AECDH-AES128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-AES128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-SEED-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ADH-CAMELLIA128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-AES256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-CHACHA20-POLY1305...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-CHACHA20-POLY1305...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-CHACHA20-POLY1305...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES256-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES256-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES256-GCM-SHA384...YES
Testing AES256-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES256-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-CHACHA20-POLY1305...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES256-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES256-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-ARIA256-GCM-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-AES128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES128-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES128-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES128-GCM-SHA256...YES
Testing AES128-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES128-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES128-CCM8...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES128-CCM...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-ARIA128-GCM-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES256-SHA256...YES
Testing CAMELLIA256-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES128-SHA256...YES
Testing CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-AES256-CBC-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-AES256-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing SRP-DSS-AES-256-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing SRP-RSA-AES-256-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing SRP-AES-256-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-AES256-CBC-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES256-CBC-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-AES256-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES256-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-CAMELLIA256-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-CAMELLIA256-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-CAMELLIA256-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES256-SHA...YES
Testing CAMELLIA256-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES256-CBC-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES256-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-CAMELLIA256-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-AES128-CBC-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-AES128-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing SRP-DSS-AES-128-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing SRP-RSA-AES-128-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing SRP-AES-128-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-AES128-CBC-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES128-CBC-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-AES128-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-AES128-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AES128-SHA...YES
Testing SEED-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing CAMELLIA128-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES128-CBC-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-AES128-CBC-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-CAMELLIA128-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-ECDSA-NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-RSA-NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing AECDH-NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing NULL-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-NULL-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-NULL-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing ECDHE-PSK-NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-NULL-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-NULL-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-NULL-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-NULL-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing RSA-PSK-NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing DHE-PSK-NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing NULL-MD5...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-NULL-SHA384...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-NULL-SHA256...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
Testing PSK-NULL-SHA...NO &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;sslv3 alert handshake failure&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name></name></author><category term="tls" /><summary type="html">Recently helping a friend that was facing problems using some government API between the test and production environment, I suspected that the issue was related to the SSL/TLS version that was enabled on both sites. Here are some handy scripts for checking that setting on remote sites. nmap --script ssl-enum-ciphers -p 443 nmz.me And here’s the output</summary></entry><entry><title type="html">Spring Boot Thymeleaf decorate layout issues</title><link href="https://nmz.me/jekyll/update/2020/10/01/spring-thymeleaf.html" rel="alternate" type="text/html" title="Spring Boot Thymeleaf decorate layout issues" /><published>2020-10-01T01:00:00+00:00</published><updated>2020-10-01T01:00:00+00:00</updated><id>https://nmz.me/jekyll/update/2020/10/01/spring-thymeleaf</id><content type="html" xml:base="https://nmz.me/jekyll/update/2020/10/01/spring-thymeleaf.html">&lt;p&gt;If you’re having problems using spring-boot starter web with thymeleaf, and you are using decorate layout… you may be finding that by default it’s not working.
To solve this issue, just add the following dependency to your project.&lt;/p&gt;

&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;nz.net.ultraq.thymeleaf&lt;span class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;thymeleaf-layout-dialect&lt;span class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name></name></author><category term="jekyll" /><category term="update" /><summary type="html">If you’re having problems using spring-boot starter web with thymeleaf, and you are using decorate layout… you may be finding that by default it’s not working. To solve this issue, just add the following dependency to your project.</summary></entry><entry><title type="html">CA for testing puposes</title><link href="https://nmz.me/pki/2019/08/04/ca.html" rel="alternate" type="text/html" title="CA for testing puposes" /><published>2019-08-04T13:50:00+00:00</published><updated>2019-08-04T13:50:00+00:00</updated><id>https://nmz.me/pki/2019/08/04/ca</id><content type="html" xml:base="https://nmz.me/pki/2019/08/04/ca.html">&lt;h1 id=&quot;goals&quot;&gt;Goals&lt;/h1&gt;

&lt;p&gt;The goal is to build a PKI scheme with a Root Certificate Authority and an Intermediate Certificate Authority.&lt;/p&gt;

&lt;p&gt;I’ve gone through many projects where SSL / TLS Test Certificates, Code Signing, Mail Signatures or PDF Signatures were required.&lt;/p&gt;

&lt;p&gt;Nowadays I’m looking for a test scenario with CRL / OCSP Working to get some PDF LTV enabled Signatures.&lt;/p&gt;

&lt;p&gt;The whole solution is available at &lt;a href=&quot;https://github.com/nicomz/democa&quot;&gt;this GitHub repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At least to try this, you need:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;OpenSSL&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;rootca&quot;&gt;RootCA&lt;/h1&gt;
&lt;p&gt;As the PKI chains starts with a Root Authority. Let’s go.&lt;/p&gt;

&lt;p&gt;First of all, we must build our directory structure.&lt;/p&gt;

&lt;p&gt;There will be:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;a private directory to store “private” keys.&lt;/li&gt;
  &lt;li&gt;a db directory to store our CA Database.&lt;/li&gt;
  &lt;li&gt;a certs directory to store generated certificates&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;└── root-ca
    ├── certs
    ├── db
    └── private
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Add the OpenSSL ROOT CA config file &lt;a href=&quot;https://github.com/nicomz/democa/blob/master/root-ca.conf&quot;&gt;root-ca.conf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create the private key of our Root Certificate Authority&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl genrsa -aes256 -out root-ca/private/root-ca.key.pem 4096
chmod 400 root-ca/private/root-ca.key.pem
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Create empty database files&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;touch ./root-ca/db/root-ca.db
touch ./root-ca/db/root-ca.db.attr
touch ./root-ca/db/root-ca.crt.srl
touch ./root-ca/db/root-ca.crl.srl
echo 00 &amp;gt; ./root-ca/db/root-ca.crt.srl
echo 00 &amp;gt; ./root-ca/db/root-ca.crl.srl
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Important note: OpenSSL stores Serial Numbers as Hex (Blocks of two numbers).&lt;/p&gt;

&lt;p&gt;Create the Certificate&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl req -config root-ca.conf \
            -key root-ca/private/root-ca.key.pem \
            -new -x509 -days 7300 -sha256 -extensions root_ca_ext \
            -out root-ca/certs/root-ca.crt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;intermediate-ca&quot;&gt;Intermediate CA&lt;/h1&gt;

&lt;p&gt;Repeat directory structure for our Intermediate CA (int-ca) plus a directory for the Certificate Requests (csr)&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── root-ca
│   ├── certs
│   ├── db
│   └── private
└── int-ca
    ├── certs
    ├── csr
    ├── db
    └── private
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Add the Intermediate CA configuration file &lt;a href=&quot;https://github.com/nicomz/democa/blob/master/int-ca.conf&quot;&gt;int-ca.conf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create the private key&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl genrsa -aes256 -out int-ca/private/int-ca.key.pem 4096
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Create the Certificate Request&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl req -config ./int-ca.conf \
            -new -sha256 -key ./int-ca/private/int-ca.key.pem \
            -out ./int-ca/csr/int-ca.csr.pem
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Sign the request to create the Intermiate Certificate (using root config file)&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl ca -config root-ca.conf -extensions int_ca_ext \
        -days 7600 -notext -md sha256 \
        -in ./int-ca/csr/int-ca.csr.pem \
        -out ./int-ca/certs/int-ca.cert.pem
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h1 id=&quot;ssltls-certificates&quot;&gt;SSL/TLS Certificates&lt;/h1&gt;

&lt;p&gt;First of all, we must setup the &lt;a href=&quot;https://github.com/nicomz/democa/blob/master/conf/TLS.conf&quot;&gt;TLS CSR config file&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/nicomz/democa/blob/master/TLS.sh&quot;&gt;Sample bash script&lt;/a&gt; for CSR creation and certificate signature&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;#!/bin/bash
export SAN=DNS:$1
openssl req -new -config conf/TLS.conf -out int-ca/csr/$1.csr -keyout signing-ca/private/$1.key
openssl ca -config ./int-ca.conf -in ./int-ca/csr/$1.csr -out int-ca/certs/$1.crt -extensions server_ext
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To call it just run&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;nicolas@sxm:~/dev/democa$ ./TLS.sh test.nmz.me
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Output&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;nicolas@sxm:~/dev/democa$ ./TLS.sh test.nmz.me
Generating a RSA private key
...................................+++++
..............................................+++++
writing new private key to 'int-ca/private/test.nmz.me.key'
-----
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.
-----
1. Domain Component         (eg, me)       []:me
2. Domain Component         (eg, nmz)   []:nmz
4. Organization Name        (eg, NMZ)   []:NMZ
5. Organizational Unit Name (eg, section)   []:test
6. Common Name              (eg, FQDN)      []:test.nmz.me
Using configuration from ./int-ca.conf
Enter pass phrase for ./int-ca/private/int-ca.key.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 0 (0x0)
        Validity
            Not Before: Aug 13 00:34:12 2019 GMT
            Not After : Aug 12 00:34:12 2021 GMT
        Subject:
            domainComponent           = me
            domainComponent           = nmz
            organizationName          = NMZ
            organizationalUnitName    = test
            commonName                = test.nmz.me
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Subject Key Identifier: 
                54:A2:35:D4:49:B9:67:2B:61:8F:16:08:85:B7:68:11:E4:21:A9:63
            X509v3 Authority Key Identifier: 
                keyid:6E:6B:78:7D:57:53:F0:86:CE:E8:C8:25:50:1A:ED:FB:2D:2D:60:6F

            X509v3 Subject Alternative Name: 
                DNS:test.nmz.me
Certificate is to be certified until Aug 12 00:34:12 2021 GMT (730 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h1 id=&quot;end-user-certificates&quot;&gt;End User Certificates&lt;/h1&gt;

&lt;p&gt;This time, we must setup the &lt;a href=&quot;https://github.com/nicomz/democa/blob/master/conf/EMAIL.conf&quot;&gt;EMAIL CSR config file&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/nicomz/democa/blob/master/EMAIL.sh&quot;&gt;Sample bash script&lt;/a&gt; for CSR creation and certificate signature&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;#!/bin/bash
openssl req -new -config conf/EMAIL.conf -out int-ca/csr/$1.csr -keyout int-ca/private/$1.key
openssl ca -config ./int-ca.conf -in ./int-ca/csr/$1.csr -out int-ca/certs/$1.crt -extensions email_ext
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To call it just run&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;nicolas@sxm:~/dev/democa$ ./EMAIL.sh email@adress.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Output&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;nicolas@sxm:~/dev/democa$ ./EMAIL.sh test@test.site
Generating a RSA private key
.....................................................+++++
........................................................................................+++++
writing new private key to 'int-ca/private/test@test.site.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
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.
-----
1. Domain Component         (eg, com)       []:me  
2. Domain Component         (eg, company)   []:nmz
4. Organization Name        (eg, company)   []:NMZ
5. Organizational Unit Name (eg, section)   []:test
6. Common Name              (eg, full name) []:test
7. Email Address            (eg, name@fqdn) []:test@nmz.me
Using configuration from ./int-ca.conf
Enter pass phrase for ./int-ca/private/int-ca.key.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Sep 30 23:43:36 2019 GMT
            Not After : Sep 29 23:43:36 2021 GMT
        Subject:
            domainComponent           = me
            domainComponent           = nmz
            organizationName          = NMZ
            organizationalUnitName    = test
            commonName                = test
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Extended Key Usage: 
                E-mail Protection, TLS Web Client Authentication
            X509v3 Subject Key Identifier: 
                C9:E8:1E:6B:BB:B2:AA:AF:5F:88:49:9F:FD:3F:B4:CC:A0:20:83:C0
            X509v3 Authority Key Identifier: 
                keyid:6E:6B:78:7D:57:53:F0:86:CE:E8:C8:25:50:1A:ED:FB:2D:2D:60:6F

            X509v3 Subject Alternative Name: 
                email:test@nmz.me
Certificate is to be certified until Sep 29 23:43:36 2021 GMT (730 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name></name></author><category term="pki" /><summary type="html">Goals</summary></entry><entry><title type="html">OpenData</title><link href="https://nmz.me/npm/2018/01/31/opendata.html" rel="alternate" type="text/html" title="OpenData" /><published>2018-01-31T22:08:00+00:00</published><updated>2018-01-31T22:08:00+00:00</updated><id>https://nmz.me/npm/2018/01/31/opendata</id><content type="html" xml:base="https://nmz.me/npm/2018/01/31/opendata.html">&lt;h1 id=&quot;opendata&quot;&gt;OpenData&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Main Idea:&lt;/strong&gt; 
Build a git repo with useful lists of values. Ej. ISO3166, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/nicomz/opendata&quot; title=&quot;opendata&quot;&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to fork, extend, or fix.
Ideas are welcome. Please contact by Twitter.&lt;/p&gt;</content><author><name></name></author><category term="npm" /><summary type="html">OpenData</summary></entry><entry><title type="html">NPM - Notebook</title><link href="https://nmz.me/npm/2017/11/14/npm.html" rel="alternate" type="text/html" title="NPM - Notebook" /><published>2017-11-14T22:08:00+00:00</published><updated>2017-11-14T22:08:00+00:00</updated><id>https://nmz.me/npm/2017/11/14/npm</id><content type="html" xml:base="https://nmz.me/npm/2017/11/14/npm.html">&lt;h1 id=&quot;npm---notebook&quot;&gt;NPM - Notebook.&lt;/h1&gt;

&lt;p&gt;Fix owner permissions on npm global package installation.
First check that npm prefix is set to /usr/local using “npm config get prefix”&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo chown&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-R&lt;/span&gt; &lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;whoami&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;npm config get prefix&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;/&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;lib/node_modules,bin,share&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name></name></author><category term="npm" /><summary type="html">NPM - Notebook.</summary></entry><entry><title type="html">Keytool</title><link href="https://nmz.me/keytool/tooling/2017/09/16/keytool.html" rel="alternate" type="text/html" title="Keytool" /><published>2017-09-16T18:00:00+00:00</published><updated>2017-09-16T18:00:00+00:00</updated><id>https://nmz.me/keytool/tooling/2017/09/16/keytool</id><content type="html" xml:base="https://nmz.me/keytool/tooling/2017/09/16/keytool.html">&lt;h1 id=&quot;keytool&quot;&gt;Keytool&lt;/h1&gt;

&lt;h2 id=&quot;import-ca-certificate-in-truststore-keystore-with-trusted-authorities&quot;&gt;Import CA certificate in TrustStore (Keystore with Trusted Authorities):&lt;/h2&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;keytool &lt;span class=&quot;nt&quot;&gt;-import&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-trustcacerts&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-alias&lt;/span&gt; myacalias &lt;span class=&quot;nt&quot;&gt;-file&lt;/span&gt; ./myac.pem &lt;span class=&quot;nt&quot;&gt;-keystore&lt;/span&gt; ./mytruststore.jks
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will add the PEM certificate contained in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;myac.pem&lt;/code&gt; into the 
keystore &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mytruststore.jks&lt;/code&gt;, and will be identified with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mycaalias&lt;/code&gt;&lt;/p&gt;</content><author><name></name></author><category term="keytool" /><category term="tooling" /><summary type="html">Keytool</summary></entry><entry><title type="html">OpenSSL</title><link href="https://nmz.me/openssl/2017/09/16/openssl.html" rel="alternate" type="text/html" title="OpenSSL" /><published>2017-09-16T13:50:00+00:00</published><updated>2017-09-16T13:50:00+00:00</updated><id>https://nmz.me/openssl/2017/09/16/openssl</id><content type="html" xml:base="https://nmz.me/openssl/2017/09/16/openssl.html">&lt;h1 id=&quot;openssl&quot;&gt;OpenSSL&lt;/h1&gt;

&lt;h2 id=&quot;ssl&quot;&gt;SSL&lt;/h2&gt;

&lt;h3 id=&quot;view-server-ssl-certificate&quot;&gt;View server SSL certificate:&lt;/h3&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl s_client &lt;span class=&quot;nt&quot;&gt;-connect&lt;/span&gt; www.google.com:443 &lt;span class=&quot;nt&quot;&gt;-showcerts&lt;/span&gt; &amp;lt; /dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In case something like this is shown:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CONNECTED(00000003)&lt;/code&gt;&lt;br /&gt;
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;140427920371416:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The simple explanation of this error is that your Certificate might be using SNI and it’s not supported by
your OpenSSL version. This happens if you are using CloudFlare Flex SSL Certificates (As I am).&lt;br /&gt;
The workaround is to inform the expected servername. Sample Solution:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl s_client &lt;span class=&quot;nt&quot;&gt;-servername&lt;/span&gt; nmz.me &lt;span class=&quot;nt&quot;&gt;-connect&lt;/span&gt; nmz.me:443 &lt;span class=&quot;nt&quot;&gt;-showcerts&lt;/span&gt; &amp;lt; /dev/null
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;x509-certificates&quot;&gt;X509 Certificates&lt;/h2&gt;

&lt;h3 id=&quot;show-crl-contents&quot;&gt;Show CRL Contents&lt;/h3&gt;

&lt;p&gt;To view CRL contents, simply, download CRL File and:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl crl &lt;span class=&quot;nt&quot;&gt;-inform&lt;/span&gt; DER &lt;span class=&quot;nt&quot;&gt;-text&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-noout&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-in&lt;/span&gt; mycrl.crl
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;ocsp-validation&quot;&gt;OCSP Validation&lt;/h3&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;openssl ocsp &lt;span class=&quot;nt&quot;&gt;-issuer&lt;/span&gt; ./ac.pem &lt;span class=&quot;nt&quot;&gt;-CAfile&lt;/span&gt; ./ca_chain.pem &lt;span class=&quot;nt&quot;&gt;-cert&lt;/span&gt; ./mycert.pem &lt;span class=&quot;nt&quot;&gt;-url&lt;/span&gt; http://myocsp/ocsp/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;To perform OCSP validation, you need:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Issuer Certificate (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ac.pem&lt;/code&gt;)&lt;/li&gt;
  &lt;li&gt;Complete certificate chain. This is a single file with all the intermediates issuers certificates, and the root ac certificate
appended.(&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ca_chain.pem&lt;/code&gt;)&lt;/li&gt;
  &lt;li&gt;Certificate you are validating (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mycert.pem&lt;/code&gt;)&lt;/li&gt;
  &lt;li&gt;Ocsp responder URL.&lt;/li&gt;
&lt;/ul&gt;</content><author><name></name></author><category term="openssl" /><summary type="html">OpenSSL</summary></entry><entry><title type="html">Yarn global installed binaries out of path</title><link href="https://nmz.me/yarn/jhipster/2017/09/16/yarn.html" rel="alternate" type="text/html" title="Yarn global installed binaries out of path" /><published>2017-09-16T13:50:00+00:00</published><updated>2017-09-16T13:50:00+00:00</updated><id>https://nmz.me/yarn/jhipster/2017/09/16/yarn</id><content type="html" xml:base="https://nmz.me/yarn/jhipster/2017/09/16/yarn.html">&lt;h1 id=&quot;yarn-and-jhipster&quot;&gt;Yarn and JHipster.&lt;/h1&gt;

&lt;p&gt;After installing JHipster using yarn, the jhipster command was not found. In fact, all binaries installed globally by yarn are missing.
It happens because the bin directory for yarn is not in path. 
Solution: Add the following lines to .profile file&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;PATH&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$PATH&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:~/.yarn/bin&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name></name></author><category term="yarn" /><category term="jhipster" /><summary type="html">Yarn and JHipster.</summary></entry><entry><title type="html">Hello World</title><link href="https://nmz.me/jekyll/update/2017/09/06/hello-world.html" rel="alternate" type="text/html" title="Hello World" /><published>2017-09-06T12:50:00+00:00</published><updated>2017-09-06T12:50:00+00:00</updated><id>https://nmz.me/jekyll/update/2017/09/06/hello-world</id><content type="html" xml:base="https://nmz.me/jekyll/update/2017/09/06/hello-world.html">&lt;p&gt;The one and only way to start. Hello World!&lt;/p&gt;</content><author><name></name></author><category term="jekyll" /><category term="update" /><summary type="html">The one and only way to start. Hello World!</summary></entry></feed>