Search Issue Tracker

Won't Fix

Votes

3

Found in

2017.1.0b8

Issue ID

920619

Regression

No

X509Store is empty in Unity, but has certificates in pure C# console application

Mono

-

To reproduce:

1. Open the project, attached by tester (windowsStoreEmpty.zip)
2. Open the "scene" scene
3. Open the TestScript
5. Open the CertificatesManager in Windows
6. In Personal -> Certificates, double - click on one of the certificates
7. In Details tab, find Thumbprint
8. Paste the thumbprint as TestScript's sha1Hash variable's value
9. Enter Play mode
10. Observe the console

Expected: X509Store variable is not empty
Actual: X509Store variable is not null, but has no certificates and

Reproduced in 5.5.4f1, 5.6.1p4, 2017.1.0b8, 2017.2.0a4

Won't fix: In Unity 2018.2 we will support TLS authentication using the system certificate store across platforms. However, we will not support querying the system certificate store since this is only available on very few platforms. Additionally, we wouldn't be able to expose it the way the .Net API would expose it (System.Security.Cryptography.X509Certificates.StoreLocation is not applicable on almost all platforms)

Comments (1)

  1. DerrickLau

    Sep 09, 2019 02:54

    Unity TLS authentication is throwing this error on the XBox One when deployed as UWP app:

    Exception thrown while initializing CommunicationManager: System.AggregateException: One or more errors occurred. ---> System.Net.WebSockets.WebSocketException: Unable to connect to the remote server ---> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> Mono.Security.Interface.TlsException: Handshake failed - error code: UNITYTLS_INTERNAL_ERROR, verify result: UNITYTLS_X509VERIFY_FLAG_NOT_TRUSTED
    at Mono.Unity.UnityTlsContext.ProcessHandshake () [0x00000] in <00000000000000000000000000000000>:0
    at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status) [0x00000] in <00000000000000000000000000000000>:0
    at Mono.Net.Security.SystemCertificateValidator..cctor () [0x00000] in <00000000000000000000000000000000>:0
    at System.Threading.TimerCallback.Invoke (System.Object state) [0x00000] in <00000000000000000000000000000000>:0
    at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state,

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.