-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible using mdTlsThunks for a TLS 1.0 server? #37
Comments
No, TLSv1 is not supported by mdTlsThunks because TLSv1 is a completely different protocol with different internals basically everything. Initially mdTlsThunks was a TLS 1.3 only implementation which got 1.2 version bolted at the price of obfuscating the code immensely. Another transplant would be devastating and besides TLSv1 is obsolete for some years now so the incentive to self-inflict this is very low. mdTlsNative uses OS provided Schannel library so it supports everything the version of Windows brings, incl. TLSv1 if enabled in registry. |
Got it. Follow-up question: mdTlsNative.TlsHandshake AcquireCredentialsHandle The credentials supplied to the package were not recognized It is with the same embedded hardware as in the thread starter. TLS 1.0 is requested but in this case, TlsSocket.exe does not even respond back to the hardware. Is Windows XP SP3 not TLS 1.0 aware? |
Stock XP SP3 by default supports server-side TLS 1.0 but the list of supported ciphersuites is limited so your embedded client might fail to negotiate a matching one. Here is what SSL Labs Server Test reports:
There is a POSReady version of XP which added support for TLS up to version 1.2 and here is the list of supported ciphersuites (still no AES-GCM so everything is weak and insecure)
Note that due to a bug mdTlsNative failed initializing server-side Schannel on XP when using non-system certificates (incl. any generated self-signed certificate) which is fixed in 77b2412 in master but there is no release of compiled DLLs yet. |
Thanks for the fix in 77b2412! One interesting thing is that TLS 1.2 is not working with Server: TlsSocket(native) Windows XP x86 SP3 with POSReady. In this case I am using a web-browser for the test that is able to negotiate TLS 1.2. But using Thunks instead of native works with TLS 1.2. |
Yes, for some reason TLS 1.2 is not working with non-system (incl. self-signed) certificates. If you import the server certificate into Personal certificate store (using I just revisted this part of the native backend but couldn't figure out what is wrong with it so I'll assume a bug in POSReady's implementation. |
Thanks :). |
Hi everybody,
I'm trying to interface with a embedded hardware which seems to only use TLS 1.0(looking at the traffic with WireShark) for it's encrypted traffic.
The hardware presents 24 suites of ciphers according to WireShark.
I've used the sample TlsSocketTest with #Const ImplExotictCiphers = True.
Running debug on mdTlsThunks shows the following error:
Invalid protocol version (&H301).
VB6 on Windows XP x86 SP3.
Compiling the TlsSocketTest instead with native module and running binary on Windows 10 works.
What am I doing wrong?
Thanks.
The text was updated successfully, but these errors were encountered: