i am trying to setup a SSL Socket connection to my Server. I am new to IOS application Development. I didn't see any libs to do ssl socket connection. Kindly give me ur suggestions or comments to achieve ssl socket connection on IOS platform.
I created a package written in Obj-C to handle sockets with iOS and the latest TLS restrictions imposed by Apple. Most important to the process is creating the certificates correctly, otherwise you will not be able to even make a handshake. I included a lot of good info for how to create certificates correctly in my readme.
https://github.com/eamonwhiter73/IOSObjCWebSockets/tree/master
Related
I am getting an SSL error only when using while using WordPress for IOS I cannot view nor connect to my wordpress site from my IOS devices. After over a week of troubleshooting with my host and wordpress for ios the issues still persist and no one seem to figure out what the problem is.
iOS has new TLS restrictions as of iOS 13. I created a package written in Obj-C to handle sockets, and I also included a lot of good info in the readme about how to correctly configure certificates given the new restrictions.
https://github.com/eamonwhiter73/IOSObjCWebSockets/tree/master
I am having a problem since upgrading to Xcode 8 from 7.3.1.I am behind a proxy at work and the simulator will not make any connections to web services though my app although Safari on the simulator works.Everything works fine when I try outside the proxy and it works fine with 7.3.1.Does anyone now of any changes with Xcode 8 & iOS 10 that I need to make?
The Simulator runs a separate iOS/watchOS/tvOS userspace but shares the host macOS kernel. NSURLSession in the Simulator has its own cache but uses the host socket layer.
Try the relevant URI in Safari in the Simulator and see what you get. If your proxy is performing a man-in-the-middle attack on SSL connections they will be rejected as invalid. If your proxy requires authentication it won't work because the Simulator keychain is separate from the host keychain (though this was done in Xcode 7 so it isn't new).
FTW: We do not recommend that proxies MITM SSL connections; that leaves you dangerously exposed to attackers operating inside the corporate firewall, which is extremely common these days thanks to phishing attacks.
We also highly recommend that you limit ATS exceptions to the absolute minimum required. If your webservice is using insecure SSL settings you should upgrade your webservice, rather than down-grading your users to vulnerable connections. If there is only one or two third-party hosts you need to connect to, limit your ATS exceptions to just those hosts.
If none of this helps please file a bug at https://bugreporter.apple.com. Include the output of sysdiagnose and ~/Library/Logs/CoreSimulator.
If I am using NSURLConnection with NSURL like https://www.example.comin iOS app(given that my server www.example.com is TLS enabled and SSL disabled), I am using SSL or TLS?
A client supplies a list of protocols to a server to use, the server picks one it supports.
This is in general.
You do not supply enough information to answer your question. What iOS version you use?
Here is an excerpt from Apple documentation.
iOS 5's TLS implementation has been upgraded to support TLS protocol version 1.2. Some non-compliant TLS server implementations do not implement TLS 1.2 and, more importantly, do not downgrade gracefully to a supported protocol version. As a result you may find that some TLS client applications built against the iOS 5 SDK may not connect to some TLS servers, when the same application built against a previous version of the iOS SDK would connect.
You may try configure the TLS protocol version using the TLSMinimumSupportedProtocol and TLSMaximumSupportedProtocol properties of the configuration. However with NSURLConnection the control over sockets is limited, e.g. you can't control ciphers, see this discussion.
You may want to use Wireshark to see what is being used in your case.
I've been using Burp Suite to inspect HTTP traffic but for HTTPS traffic I've been unable to do so. I tried extracting Burps certificate and dropping it into the simulator and installing it, but my network calls still seem to be silently failing.
Burp is the simplest option so I'd like to know how to get it to work.
Check out the shell script written by the good folks over at Charles Proxy.
It installs automatically to the iPhone simulator. You should be able to use the same approach for Burp.
You can email yourself the cert to install it on a device. Another option is to modify your app to ignore the usual checks for the SSL cert, but don't forget to take it out for production.
Also the book Hacking and Securing iOS applications has tons of awesome advice if you're into stuff like this.
Here's another answer that must be where I got the idea of using the Charles script: Adding a self-signed certificate to iphone Simulator?
And another answer that might be relevant: iPhone TrustStore CA certificates
In my blackberry application I'm establishing network connection by appending ;deviceSide=true in the url. It is working fine on simulator but its not working on device. I've correct APN settings as other third party apps are running fine.
Please let me know the possible reason for this issue!!!
Its not necessary that your app always connect via direct TCP.
For taking care all types of networks available in blackberry for your app refer this article.
How to programmatically connect to the internet in blackberry
Network Diagnostic Tool
download this network diagnostic tool developed by RIM and check weather direct TCP is working or not in your mobile.