Me encontré con esto usando Tunnelblick y Viscosity. Añadiendo una configuración a esas herramientas VPN es posible en la GUI durante la primera conexión especificar usuario&pass y guardarlos en el llavero. Las siguientes conexiones utilizarán las credenciales guardadas en el llavero.
Sin embargo, si cambio la contraseña en el llavero usando el comando de seguridad de la terminal (add-generic-password -U-s-a-w) o a través de la aplicación de acceso al llavero, después tanto Tunnelblick como Viscosity mostrarán el diálogo "Permission to access keychain: [Permitir, Permitir siempre, cancelar]"-diálogo si intento conectarme la próxima vez.
¿Hay alguna forma de evitar este diálogo?
- Busqué un poco en el código fuente de Tunnelblick, pero no pude encontrar una comprobación de "manipulación del llavero" ni nada que pudiera forzar este diálogo desde el lado de Tunnelblick.
- ¿Si es una protección configurable a nivel de SO?
0 votos
Si editas una entrada del Llavero fuera de la aplicación, me parece lógico que OS X te pida que confirmes que quieres que la aplicación pueda acceder a ella. Cuando haces clic en Permitir siempre, ¿no recuerda esa configuración?
0 votos
Con "Permitir siempre" recuerda hasta que la contraseña se cambia (de nuevo). Sin embargo dudo que tenga sentido, que esto no sea configurable. Necesitas privilegios de usuario elevados (dos veces) para poder cambiar la entrada, por qué debería informarte de nuevo en el primer acceso. Entiendo que alguna "comprobación de integridad" podría ser útil, pero no es una advertencia capturable, es un popup GUI tan pronto como intentas acceder al llavero (si entiendo el código fuente de Tunnelblick correctamente).
0 votos
Varias aplicaciones pueden acceder a un mismo elemento del llavero. En tu caso, resulta que estás modificando el elemento e intentando utilizarlo de nuevo en la misma aplicación, pero de nuevo lo estás modificando fuera del ámbito de la aplicación a la que previamente autorizaste a utilizarlo. Por lo tanto, tiene mucho sentido que OS X quiera confirmar que tienes intención de permitir el acceso a las credenciales actualizadas que están almacenadas, al igual que lo haría si una aplicación intentara acceder a un elemento del llavero que no ha creado.