Search Issue Tracker

By Design

Votes

0

Found in

2022.3.11f1

2023.1.16f1

2023.2.0b14

2023.3.0a10

Issue ID

UUM-53669

Regression

Yes

UnityWebRequest can't establish an HTTPS/TLS connection to a server with a “SHA256RSA“ certificate when using a URL with a domain name on iOS devices

-

How to reproduce:
1. Build And Run the user’s attached “UnityWebRequestTLS12_2022.zip” project on an iOS device
2. In the app, press the “Send UnityWebRequest to "https://funrobgames.com:7500/Ping"“ button
3. Observe the text under the button

Expected result: Text is “ok”
Actual result: Text is “unable to complete ssl connection”

Reproducible with: 2022.1.0a5, 2022.1.24f1, 2022.3.11f1, 2023.1.16f1, 2023.2.0b14, 2023.3.0a10
Not reproducible with: 2021.3.31f1, 2022.1.0a4

Reproduced on:
VLNQA00494 - iPhone 14 Pro Max, 16.3.1 iOS
VLNQA00358 - iPhone 12, 14.1 iOS
VLNQA00392 - iPad (9th generation), 15.0 iOS
VLNQA00310 - iPad Pro 12.9", 13.4.1 iOS

Notes:
- not reproducible in the Editor, Android, Standalone Build (Windows, macOS)
- not reproducible if the URL contains only IP-address, it works

  1. Resolution Note:

    On iOS you have to enable arbitrary load to be able to use self-signed certificates.
    You need to add NSAllowsArbitraryLoads key to Info.plist. Enabling insecure HTTP in Player Settings in Unity will do this for you. Older Unity versions had an iOS specific setting for this, which was enabled by default, hence you see the difference between Unity versions.
    More info:
    https://developer.apple.com/documentation/bundleresources/information_property_list/nsapptransportsecurity/nsallowsarbitraryloads?language=objc

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.