Hello BCL developers,

I have to issues to report. First, the search engine of your mailing
list archive is throwing a 500 HTTP error.

Second, I was developing something where I stumbled a potentially issue
in BCL (C# version). The setup is like this:
- remote server written in C++ (Boost::ASIO and OpenSSL)
- PC client written in C#
- using pre-shared keys

Using PSK is quite new to me, so I first prepared a demo client/server
(hacked on a simple client&server demo from a German ASIO/OpenSSL
tutorial, links see below). This works quite well, I see server sending
the hint, client receiving it and sending identity and psk and
everything works smoothly.

BCL client, however, does not work at all. I subsclassed PskTlsClient
and PskTlsClient (mostly following the unit test example, feeding it
with the same data as OpenSSL version; link below). But when the TCP
communication is established the handshake fails. Instead, there is a
generated IOException (details see below).

Checking Wireshark log confirms that the handshare is aborted right in
the beginning (the WORP / IAMLEGEND containing parts are never
exchanged): 
https://www.unix-ag.uni-kl.de/~bloch/.wearetheborg/pskbug/openssl_vs_BCL_client.png

Does anyone have an idea on what's going wrong? I might be overlooking
something (enabling specific TLS version?) but I cannot figure out what.


https://www.heise.de/developer/artikel/SSL-TLS-Netzwerkprogrammierung-mit-Boost-Asio-Teil-3-Client-Programmierung-und-Fehlerbehandlung-3161904.html
https://www.heise.de/developer/downloads/06/1/7/8/5/1/9/9/wopr-3.00.tar.bz2
https://www.unix-ag.uni-kl.de/~bloch/.wearetheborg/pskbug/WOPR_pskmod.diff
https://www.unix-ag.uni-kl.de/~bloch/.wearetheborg/pskbug/Program.cs

Best regards,
Eduard.

Reply via email to