Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full compatibility with App Transport Security #816

Closed
snej opened this issue Jul 20, 2015 · 0 comments
Closed

Full compatibility with App Transport Security #816

snej opened this issue Jul 20, 2015 · 0 comments
Assignees
Milestone

Comments

@snej
Copy link
Contributor

snej commented Jul 20, 2015

Beyond #815 there are some other changes needed to be compatible with iOS 9 / OS X 10.11 App Transport Security:

  • MYAnonymousIdentity needs to use SHA-256 when signing the cert.
  • When validating server trust in the NSURLConnection callback, update the returned SecTrustRef to have a result of 'proceed', otherwise ATS will reject the connection even though we accepted the cert.
  • HTTPConnection needs to specify a TLS version at minimum 1.0, not exactly 1.0. (This was already fixed but I'm calling it out because it's not in CBL 1.1.)

To be able to connect to a peer running iOS 8 or OS X 10.10, though, the app will need to add an ATS exception to its Info.plist to turn off the requirement for forward secrecy in the SSL cipher. This is because the older OS's don't support the necessary ciphers. The property add to the Info.plist looks like:

NSAppTransportSecurity = {
    NSExceptionDomains = {
        local = {
            NSIncludesSubdomains = YES,
            NSExceptionRequiresForwardSecrecy = NO
        }
    }
}

(The above is for Bonjour connections, i.e. the ".local" domain. Adapt as necessary for other domains.)

@snej snej self-assigned this Jul 20, 2015
@snej snej closed this as completed in f0eb1cb Jul 20, 2015
@snej snej modified the milestone: 1.2 Jul 22, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant