Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CRL and OCSP behavior of iOS / Security.Framework?

I'm trying to figure out what iOS' policy is when verifying certificates using Security.Framework regarding revocation of certificates. I cannot find information about this in the docs for iOS. In the context of an iPad project I'm working on at the moment, there is reason to demand checking revocation status for some certs. Anyone ideas on how to force CRL / OCSP checking during cert verification using Security.Framework? Or do I need to "fall back" to OpenSSL to accomplish this?

It seems that also on Mac OS X 10.6 CRL / OCSP checks are done optionally and have to be turned on manually through Keychain Access.

Martijn

like image 714
Martijn Thé Avatar asked Apr 11 '11 18:04

Martijn Thé


1 Answers

I have an answer to this question by Apple guys, I posted the full answer here:

Details on SSL/TLS certificate revocation mechanisms on iOS

To sum it up, there are several things to keep in mind for OCSP implementation on iOS:

  • OCSP policy cannot be configured at this moment
  • it works for the EV certificates only
  • high-level stuff, such as NSURLConnection or UIWebView use TLS security policy, which uses OCSP
  • SecTrustEvaluate is a blocking network operation
  • it works the "best attempt" - if OCSP server cannot be contacted, the trust evaluation will not fail
like image 168
joshis Avatar answered Oct 24 '22 12:10

joshis