Hace ya casi dos años que publicamos Viafirma Mobile para iOS, nuestra aplicación nativa de Viafirma Platform para poder realizar autenticación fuerte y firma electrónica avanzada con certificados digitales en formato software (PKCS#12). Esta aplicación hace las funciones de «applet de firma» en un entorno como iOS, donde no se dispone de máquina virtual de Java; por ello, interactúa con los certificados instalados localmente en el dispositivo móvil para poder realizar las operaciones criptográficas necesarias.
Para instalar los certificados, debemos utilizar la capacidad de compartir ficheros con aplicaciones de iOS a través de iTunes, cargando nuestro certificado en formato PKCS#12 (y protegido con PIN) a la aplicación Viafirma instalado en nuestro iPhone, iPad, iPod Touch, etc. Así, Viafirma Mobile puede desplegar dichos certificados en el keystore local de la aplicación.
Algunos clientes nos han preguntado por qué no usamos el sistema de profiles disponible en iOS a nivel de dispositivo, en lugar de usar el repositorio local de la aplicación. Por ejemplo, disponiendo del certificado en formato PKCS#12 en el iPhone o iPad (adjunto en un email por ejemplo), se puede instalar sobre el dispositivo y queda visible en los Profiles (Ajustes -> General -> Perfiles). De hecho, si hacemos esto, podemos tener autenticación con certificado en cualquier aplicación que tenga configurada la autenticación con certificado sobre SSL; al navegar por la aplicación con Safari, el dispositivo iOS nos pide que escojamos qué certificado queremos utilizar (ver figura adjunta). Si existe esto, ¿por qué no interactuamos con los profiles del dispositivo en lugar de utilizar el keystore local? Se debe poder, ya que tanto Safari (para autenticar) como Mail (para firmar un email) pueden utilizar el certificado almacenado en el Profile…

La respuesta es fácil: porque, desgraciadamente, NO se puede.
Apple restringe a las aplicaciones no firmadas por ellos el acceso a los servicios de keychain que no sean locales de la aplicación. Esto puede ser consultado en Apple Developers.
Y más concretamente, este párrafo que acaba con toda esperanza, de momento:
Keychain Access Controls
iOS: The iOS gives an application access to only its own keychain items. The keychain access controls discussed in this section do not apply to iOS.