¿Por qué no puedo acceder a mi llavero en aplicaciones iOS que no sean safari (o aplicaciones OSX, en realidad)? ¿Cómo puedo acceder a mis contraseñas en toda la plataforma?
¿Por qué no puedo acceder a mi llavero en aplicaciones iOS que no sean safari (o aplicaciones OSX, en realidad)? ¿Cómo puedo acceder a mis contraseñas en toda la plataforma?
Es una característica de diseño del sistema de llavero en macOS e iOS. Cada elemento de llavero se almacena con un identificador único que le dice al sistema qué aplicación lo creó, y solo esa aplicación tiene permiso para acceder a él. También hay un concepto de grupos de acceso, donde un desarrollador puede permitir el acceso a un grupo de aplicaciones, por ejemplo, para que Google solo necesite almacenar sus credenciales una vez para que todas sus aplicaciones las utilicen.
Además de bloquear y desbloquear globalmente todo el llavero en tiempos apropiados, el sistema también restringe a qué aplicaciones pueden acceder artículos específicos de llavero. Por defecto, una aplicación que crea un elemento, y Sólo esa aplicación, puede leerla o modificarla. Sin embargo, a veces usted Quiero compartir un secreto entre las aplicaciones. Cómo haces esto depende de la situación.
...
Desde una perspectiva de alto nivel, Keychain Services utiliza el código de una aplicación firma con sus derechos incorporados para garantizar que solo un La aplicación autorizada puede acceder a un elemento de llavero en particular. Por defecto, solo la aplicación que creó un elemento puede acceder a él en el futuro. Pero llavero Los servicios hacen más que simplemente verificar la identidad de una aplicación. En lugar, compara el grupo de acceso de un elemento de llavero, registrado como el El atributo kSecAttrAccessGroup, con la lista de grupos de acceso a los que una aplicación pertenece. Si uno de los grupos de acceso de la aplicación coincide con el llavero grupo del artículo, se concede el acceso. Del mismo modo, Keychain Services permite una aplicación para crear elementos de llavero con el atributo kSecAttrAccessGroup configurado en cualquiera de los grupos de acceso propios de la aplicación.
Apple simplemente no ha abierto el acceso al Llavero a aplicaciones de terceros. Sin embargo, eso está cambiando en iOS 11. En ese momento, podrá usar sus contraseñas Llavero en todo el sistema.
Puede acceder al llavero completo abriendo Keychain Access en Mac, que se puede encontrar en la carpeta Utilidades. En iOS, puede acceder al llavero desde la configuración en Safari dentro de "Contraseñas", sin embargo, la API para el llavero no se ha abierto para los desarrolladores.
Normalmente, puede acceder a la contraseña relevante si es para una aplicación distribuida por la autoridad que también administra la aplicación web, por ejemplo, Amazon, o cualquiera de las aplicaciones de Google que obtienen información del llavero con el permiso del usuario a través de el uso de una ventana de safari dentro de la aplicación correspondiente para recuperar la clave API para la aplicación.
En las versiones de iOS y macOS que vendrán este otoño, la función se integrará en el sistema y las aplicaciones podrán acceder al llavero sin usar una ventana.