Para usarlo en un script, necesito extraer una contraseña de un llavero. La contraseña se agregó específicamente (y manualmente) para este propósito para la cuenta User
, con el nombre label
.
Sin embargo, los resultados para extraer la contraseña con security
difieren según el llavero al que se agrega la contraseña. Utilizando
security find-generic-password -a User -l label -w
imprimirá la contraseña solo si está almacenada en el llavero System
, pero dará como resultado una cadena vacía si está almacenada en el llavero login
, a pesar de que no aparezca ningún mensaje de error (como, por ejemplo, recibiría cuando una contraseña no pueda Se encuentra debido a inexistentes label
). Imprimiendo la información solamente, a través de
security find-generic-password -a User -l label
da como resultado la misma lista de detalles independientemente del llavero que se usa.
Dado que el script está destinado a un usuario específico y se ejecuta al iniciar sesión en dicho usuario, tendría más sentido tener la contraseña en el llavero de inicio de sesión del usuario. El mismo problema aparece para un llavero de prueba que agregué en la cuenta del usuario.
Los resultados son independientes de la configuración de Access Control
en Keychain Access
.
Entonces: ¿Cómo extraer una contraseña desde un llavero dado? ¿Por qué tiene éxito solo para el llavero System
?
Versión del SO: macOS sierra 10.12.3