6 votos

AppleScript para recuperar cuenta y contraseña con secuencias de comandos de llavero

¿Cómo puedo usar keychain scripting para escribir un script de Applescript que recupera el nombre de usuario y contraseña de un sitio web del llavero de Inicio de sesión , dada la URL del sitio web?

7voto

James Socol Puntos 146

Si usted sabe el nombre exacto de las llaves elemento, se puede utilizar la siguiente:

tell application "Keychain Scripting" to tell keychain "login.keychain" to get {account, password} of (first Internet key whose name is "www.google.com")

La cosa es que, Llavero de secuencias de comandos es lento y con muchos errores. Por ejemplo, las búsquedas de un llavero elemento en el ejemplo anterior, usando name contains en lugar de name is no funciona. Usted tendría que usar una instrucción repeat similar a lo que @Philip publicado:

tell application "Keychain Scripting" to tell keychain "login.keychain"

    repeat with x from 1 to (count every Internet key)
        if name of Internet key x contains "Google" then
            return {account, password} of Internet key x
        end if

    end repeat
end tell

Si está bien usar la línea de comandos y sólo quieren mirar cosas, prefiero usar: security find-internet-password -g -s www.google.com y, a continuación, grep lo que usted desea.

3voto

Alain Valette Puntos 7870

Llavero de secuencias de comandos se rompen bastante bien en Lion, por lo que la herramienta de línea de comandos de seguridad es su mejor apuesta. Alternativamente, utilice secuencias de comandos además de suéter rojo, que es más rápido y más fácil de secuencia de comandos para que los viejos scripts acceso a Llaveros.

Blog de suéter rojo: Útil llavero Scripting para Lion

1voto

Mike Polen Puntos 3173

Llavero está expuesto a Applescript mediante la aplicación de Secuencias de comandos de llavero . Existen numerosos ejemplos en la web, siendo el uso más básico:

set theShortUserName to do shell script "/usr/bin/whoami" --get the short
userid. This is how your default keychain is labled.

tell application "Keychain Scripting"
    set myKeyChain to keychain theShortUserName
    set theKeyList to every Internet key of myKeyChain --email keys are
normally Internet Keys
    repeat with x from 1 to (length of theKeyList)
        set theKey to item x of theKeyList
        if the name of theKey is "name of key here" then
            set thePassword to password of theKey --grab the password
            set theUserID to the account of theKey  --grab the userid
        end if
    end repeat
end tell

De MacScripter

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X