iOS9 getting error “an SSL error has occurred and a secure connection to the server cannot be made”
For the iOS9, Apple made a radical decision with iOS 9, disabling all unsecured HTTP traffic from iOS apps, as a part of App Transport Security (ATS).
To simply disable ATS, you can follow this steps by open Info.plist, and add the following lines:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
iOS 9.3 : An SSL error has occurred and a secure connection to the server cannot be made
At the command-line in OS X, run the following:
nscurl --ats-diagnostics https://filename.hostname.net --verbose
This will tell you what combinations of ATS settings will and will not permit iOS to access your site, and should point you towards what is wrong with your site.
It could be one or more of the following
- Certificate hash algorithm (must be SHA-256 or above)
- TLS version (must be 1.2)
- TLS algorithms (must provide Perfect Forward Secrecy)
“an ssl error has occurred and a secure connection to the server cannot be made” connecting to Internal Development Server on phone only
After I read this document from Apple
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>Your Domain</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
My app is now working on devices. My cert on the server is not Forward Secrecy ready yet.
Xcode 11.2 swift 13.2 An SSL error has occurred and a secure connection to the server cannot be made
it seems that the problem is one signal does not open in my country , thanks
iOS 11 : SSL error occurred and connection to server cannot be made
Judging by the screenshot, it appears you might be using a .dev domain. If so, you will not be able to disable ATS because Google owns the .dev domain, and they have chosen to require all .dev domains require HTTPS. In iOS 11, Apple supports HSTS preloading, which allows certain domains to be restricted to secure connection only. The .dev top-level domain (TLD) is now one of those TLDs that require HTTPS. See more about that here: https://stackoverflow.com/a/47698675/3708242
You screenshot includes an ATS exception that ends in .dev, but your comments specify a different domain. I'm assuming that maybe there are multiple exceptions in your Info.plist, and you use the .dev for internal testing against a local server. If that is the case, simply change the domain for your internal testing to something other than *.dev
. Also, not that the exception in your screenshot is not correct, as it includes http:// in the exception domain. Instead of an entry in the InfoPlist like "http://mylocalserver.local", you should just have "mylocalserver.local" (no http://).
If your entry for abc.pqr.lmn
is the same (it also includes the protocol in the exception domain), remove the "http://" and it should work.
Also, your exceptions list is a bit of a mess. If you are not using https at all, you should be able to remove all the entries except for NSExceptionAllowsInsecureLoads
. All the other settings you specify are for if you want to allow for HTTPS connections that don't support the minimum requirements for ATS. If you are just trying to non-secure HTTP traffic, get rid of the others.
So in summary:
- Don't use a .dev domain for local testing, as Google owns the top-level domain now and requires all new browsers / OSs to use HTTPS when connecting to anything that ends in .dev.
- Don't include "http://" in your ATS exception domains in your Info.plist
- It doesn't have anything to do with it being in Objective-C - it has to do with iOS 11 implementing HSTS preloading.
An SSL error has occurred and a secure connection to the server cannot be made only on ios
I've finally found the solution hope it helps , the issue was in nginx configuration and has been fixed by adding the following code to nginx.config file .
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
Related Topics
Swift - How to Get Last Taken 3 Photos from Photo Library
How Does Google's Custom iOS Keyboard, Gboard, Programmatically Dismiss the Frontmost App
Open Specific View When Opening App from Notification
Does Firebase Cloud Messaging Support Voip Pushkit Services
How to Check Whether Dark Mode Is Enabled in iOS/Ipados
Black Screen After Presenting Modal View Controller in Current Context from Uitabbarcontroller
Nsurlsession "Http Load Failed Kcfstreamerrordomainssl, -9813 ; Self Signing Certificate
Automatic Signing Is Unable to Resolve an Issue with the "Projectname" Target's Entitlements File
How to Use Crashlytics with iOS/Os X Today View Extensions
Negative Spacer for Uibarbuttonitem in Navigation Bar on iOS 11
Stretch Background Image for Uibutton
How to Capture Picture with Avcapturesession in Swift
Ipad: Drag a Uitableviewcell from One Uitableviewcontroller and Drop It into Another
How to Populate Uitableview from the Bottom Upwards
Swiftui: Unwanted Split View on iPad
App Crashes on Enabling Camera Access from Settings iOS 8