[erlang-questions] Force TLS v1.2
Andreas Schultz
andreas.schultz@REDACTED
Mon Apr 29 08:41:40 CEST 2019
Hi Frank,
Sorry, that I can't really help you, but I did notice that the Erlang SSL
usage example for upgrading a socket to TLS [1] says:
*> Step 5:* Ensure active is set to false before trying to upgrade a
connection to an SSL connection, otherwise SSL handshake messages can be
delivered to the wrong process
Your example seems to be using an active connection.
Maybe you could post a more complete, ready to run sample to get more
feedback...
Regards
Andreas
1: http://erlang.org/doc/apps/ssl/using_ssl.html
Am Fr., 26. Apr. 2019 um 08:25 Uhr schrieb Frank Muller <
frank.muller.erl@REDACTED>:
> Small typo in ssl_client/0:
> _______________________________
> tcp_client() ->
> {ok, TcpSock} = gen_tcp:connect("local_proxy_for_traffic_fitering",
> 12345, [ binary, {active, true}, {packet. 0} ]),
> ok = gen_tcp:send(TcpSocket, <<"CONNECT…">>),
> … got 200OK ...
> TcpSocket.
>
> ssl_client() ->
> TcpSocket = tcp_client(),
> Opts = [ {verify, verify_none}, {cacertfile, "cacert.pem"}, {versions,
> ['tlsv1.2']} ],
> {ok, Sock} = ssl:connect(TcpSocket, Opts),
> Sock.
>
> connect() ->
> SslSocket = ssl_client(),
> ok = ssl:send("...some data...">>, SslSocket),
> …
> ok.
> _______________________________
>
>
> Hi guys
>>
>> I’m trying to connect to a remote SSL server using a filtering Proxy in
>> between.
>>
>> First, I try to establish a normal TCP connection to this local Proxy
>> using the CONNECT word.
>>
>> Second, I upgrade the TCP socket to SSL as in this snippet code:
>>
>> _______________________________
>> tcp_client() ->
>> {ok, TcpSock} = gen_tcp:connect("local_proxy_f
>> or_traffic_filtering", 12345, [ binary, {active,true}, {packet,0} ]),
>>
>> ok = gen_tcp:send(TcpSocket, <<"CONNECT…">>),
>> … got 200OK ...
>> TcpSocket.
>>
>> ssl_client() ->
>> TcpSocket = tcp_client(),
>> Opts = [ {verify, verify_none}, {cacertfile, "cacert.pem"}, {versions,
>> ['tlsv1.2']} ],
>> {ok, Sock} = ssl:connect(TcpSocket, Opts).
>>
>> connect() ->
>> SslSocket = ssl_client(),
>> ok = ssl:send(SslSocket, <<"...some data...">>),
>> …
>> ok.
>> _______________________________
>>
>> When i call the ssl:send/2, the remote SSL server (I’ve no control on
>> this server) immediately closes the connection with {error, closed}.
>>
>> Furthermore, the SSL server claims I’m using SSL v1.3 (from the logs
>> we've got).
>>
>> Questions:
>> a. is it the right way to establish an SSL connection via a proxy?
>>
>> b. how can I really ensure I’m using SSL v1.2 and not v1.3?
>>
>>
>> My config: Erlang 21.3.5, Ubuntu 18.04 LTS, Kernel 4.4.0-grs-64 on a very
>> restricted environment: no sudo, no direct internet access
>>
>> /Frank
>>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
--
--
Dipl.-Inform. Andreas Schultz
----------------------- enabling your networks ----------------------
Travelping GmbH Phone: +49-391-81 90 99 0
Roentgenstr. 13 Fax: +49-391-81 90 99 299
39108 Magdeburg Email: info@REDACTED
GERMANY Web: http://www.travelping.com
Company Registration: Amtsgericht Stendal Reg No.: HRB 10578
Geschaeftsfuehrer: Holger Winkelmann VAT ID No.: DE236673780
---------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20190429/ed2baec0/attachment.htm>
More information about the erlang-questions
mailing list