<div dir="ltr">After upgrading to Erlang OTP-19.2 and, in different requests, specified the version as one of tlsv1, tlsv1.1 or tlsv1.2. Every time I received the same error.<div><br></div><div>I'm not sure if it is helpful at all, but I can replicate this on Windows, OSX 10.11 (El Capitan) and Ubuntu 14.04. I have not tried on other platforms.<br><div><br></div><div>Is there any other information that I would be able to give that would be helpful?</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 21, 2016 at 3:38 AM, Technion <span dir="ltr"><<a href="mailto:technion@lolware.net" target="_blank">technion@lolware.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">
<div id="m_-8708617999540836611divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif" dir="ltr">
<p>Hi Justin,</p>
<p><br>
</p>
<p>Is this earlier discussion relevant:</p>
<p><br>
</p>
<p><a class="m_-8708617999540836611OWAAutoLink" id="m_-8708617999540836611LPlnk203460" href="http://erlang.org/pipermail/erlang-questions/2016-November/090780.html" target="_blank">http://erlang.org/pipermail/<wbr>erlang-questions/2016-<wbr>November/090780.html</a></p>
<p><br>
</p>
<p><br>
</p>
<br>
<br>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block;width:98%">
<div id="m_-8708617999540836611divRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> <a href="mailto:erlang-questions-bounces@erlang.org" target="_blank">erlang-questions-bounces@<wbr>erlang.org</a> <<a href="mailto:erlang-questions-bounces@erlang.org" target="_blank">erlang-questions-bounces@<wbr>erlang.org</a>> on behalf of Justin Wood <<a href="mailto:justin.k.wood@gmail.com" target="_blank">justin.k.wood@gmail.com</a>><br>
<b>Sent:</b> Wednesday, 21 December 2016 11:56 AM<br>
<b>To:</b> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<b>Subject:</b> [erlang-questions] SSL handshake failure</font>
<div> </div>
</div><div><div class="h5">
<div>
<div dir="ltr">Hi there,
<div><br>
</div>
<div>I am attempting to use the ssl module in order to get a socket to a remote server (MongoDB). I am using the following line of code (OTP 19)</div>
<div><br>
</div>
<div>ssl:connect("<a id="m_-8708617999540836611LPlnk803551" href="http://my-server.net" target="_blank">my-server.net</a>", 27017, [binary, {active, false}, {packet, raw}], 5000).</div>
<div><br>
</div>
<div>Whenever I use this, I get the following:</div>
<div><br>
</div>
<div>
<div>=ERROR REPORT==== 20-Dec-2016::19:13:13 ===</div>
<div>SSL: certify: tls_connection.erl:603:Fatal error: handshake failure - malformed_handshake</div>
<div>{error,{tls_alert,"handshake failure"}}</div>
</div>
<div><br>
</div>
<div>Which lead me to look into erlang:get_stacktrace/0</div>
<div><br>
</div>
<div>
<div>erlang:get_stacktrace().<br>
[{tls_connection,start_fsm,8,</div>
<div>                 [{file,"tls_connection.erl"},<wbr>{line,79}]},</div>
<div> {ssl_connection,connect,8,</div>
<div>                 [{file,"ssl_connection.erl"},<wbr>{line,84}]},</div>
<div> {erl_eval,do_apply,6,[{file,"<wbr>erl_eval.erl"},{line,674}]},</div>
<div> {shell,exprs,7,[{file,"shell.<wbr>erl"},{line,686}]},</div>
<div> {shell,eval_exprs,7,[{file,"<wbr>shell.erl"},{line,641}]},</div>
<div> {shell,eval_loop,3,[{file,"<wbr>shell.erl"},{line,626}]}]</div>
</div>
<div><br>
</div>
<div>My problem is that the certificate that the server is using should be legitimate. I can connect, without error, using other clients and languages.</div>
<div><br>
</div>
<div>I took a look through Wireshark in order to try and figure out what is going on and this is what I see.</div>
<div><br>
</div>
<div>* The Client says hello and presents a list of cipher suites.</div>
<div>* The Server says hello and says that it wants to use TLS_RSA_WITH_AES_256_GCM_<wbr>SHA384 (This cipher is in the list that the client sends)</div>
<div>* The Server sends the Client the certificates it is using (these both appear to be signed by DigiCert).</div>
<div>* The Server sends an encrypted handshake message.</div>
<div>* The Client responds with a Fatal Alert stating a Handshake Failure.</div>
<div>* The Server sends another encrypted handshake message.</div>
<div><br>
</div>
<div>I have verified that ssl:connect/4 is working fine as I can connect to a number of different miscellaneous services (including a number of other MongoDB instances).</div>
<div><br>
</div>
<div>I was wondering if there is anything else I can do to try and figure out why erlang does not allow this connection.</div>
<div><br>
</div>
<div>Justin </div>
</div>
</div>
</div></div></div>
</div>
</div>

</blockquote></div><br></div>