Search Issue Tracker

Fixed in 2018.2.X

Votes

11

Found in

2017.1.0b3

Issue ID

907975

Regression

No

Unity does not allow to use TLS version higher than 1.0

Mono

-

To reproduce:
1. Extract the attached project;
2. In the Certificate Folder are the certificates needed
for the TLS encryption. Copy that folder to
Application.persistentDataPath + "/Certificates/" folder for each project;
Note: Through Wireshark TLS1 is the
only protocol that shows up even if TLS12 is selected. There are two
locations to change this. Roughly Line 203 and line 241.
3. Wireshark must be configured to accept port 20000 as an encrypted port.
Go to Edit > Preferences > Protocols > HTTP and then add 20000 to
the SSL/TLS Ports;
Note: The projects are set up to run on the same computer, however, in order
for Wireshark to detect them it is easier to move the client to a separate
computer and just change the IP in the ConnectToServer function.
4. On Unity, open both projects: EncryptedClient and EncryptedServer and enter Play mode;
5. On Wireshark, capture Network with filter "tcp.port == 20000".

Expected result: Wireshark test shows TLS1.2
Actual result: Unity does not allow to use TLS version higher than 1.0.

Reproduced on versions: 2017.1.0b3, 2017.1.0f3, 2017.2.0b3.

Fixed in: 2018.2.0b1

Comments (6)

  1. Bhearus

    Apr 17, 2018 23:55

    Nevermind, I see that it has been fixed in 2018.2. Thank you!

  2. Bhearus

    Apr 17, 2018 23:54

    This is repoducible in version 2018.1.0b13

    Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
    at Mono.Security.Protocol.Tls.SslStreamBase.EndRead (System.IAsyncResult asyncResult) [0x0004b] in <59f5789d548a4d9d86fbc012db4951c0>:0
    at Mono.Net.Security.Private.LegacySslStream.EndRead (System.IAsyncResult asyncResult) [0x00006] in <030fabbd3a514c05bc0eba1380ea2103>:0
    at System.Net.Security.SslStream.EndRead (System.IAsyncResult asyncResult) [0x00006] in <030fabbd3a514c05bc0eba1380ea2103>:0
    at Standard.Connections.ConnectionManager.SecureReceiveCallback (System.IAsyncResult ar) [0x00016] in <e366048a843e48759bb3dae3ec5a6aa5>:0
    UnityEngine.Debug:Log(Object)
    Standard.Connections.ConnectionManager:SecureReceiveCallback(IAsyncResult)
    System.Threading._ThreadPoolWaitCallback:PerformWaitCallback()

  3. Garou1337

    Mar 07, 2018 19:09

    It's about time they fix this.

  4. faviann

    Mar 07, 2018 15:59

    We're hoping hard this gets fixed soon at the studio.

  5. Bhearus

    Mar 01, 2018 15:02

    This is also reproducible in version 2018.1.0b9.

    Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
    at Mono.Security.Protocol.Tls.SslStreamBase.EndRead (System.IAsyncResult asyncResult) [0x0004b] in <59f5789d548a4d9d86fbc012db4951c0>:0
    at Mono.Net.Security.Private.LegacySslStream.EndRead (System.IAsyncResult asyncResult) [0x00006] in <38726ee33b8e4fcaafdadea41f0571c6>:0
    at System.Net.Security.SslStream.EndRead (System.IAsyncResult asyncResult) [0x00006] in <38726ee33b8e4fcaafdadea41f0571c6>:0
    at Standard.Connections.ConnectionManager.SecureReceiveCallback (System.IAsyncResult ar) [0x00016] in <01bc8bb80c0c41e197d791226f25dc49>:0

  6. Bhearus

    Oct 12, 2017 20:10

    Has there been any progress on this? I have yet to test it on the latest version.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.