Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to use a client certificate installed on an iOS device within my app?

I want to be able to install a client certificate (via email, for example) and then use that certificate to authenticate requests sent by my app. I have the feeling that Apple won't allow that kind of access, but can't find any definite answer. Is that true, or is there a way to access client certificates installed on the device from within an app?

Edit: To clarify, this is a native app, not a webapp.

like image 834
kevboh Avatar asked May 11 '12 20:05

kevboh


People also ask

How do I access certificates on my iPhone?

If you want to turn on SSL/TLS trust for that certificate, go to Settings > General > About > Certificate Trust Settings.

Where are certificates stored in iOS?

On iOS, certificates are stored in the publisher keychain. On Android, they are stored in the system keychain.


1 Answers

Your app can use only what you store in its own keychain (or keychains of other 3rd party apps that share the same provisioning certificate). As for the actual loading we do use openssl (we did write a obj-c wrapper around it) to decode the .p12 that we send to the app.

The certificates loaded in seting->general->profiles are protected in some way only built-in apps (mail, safari) can add stuff there.

like image 95
Frank Avatar answered Sep 21 '22 00:09

Frank