Applescript para recuperar la cuenta y la contraseña usando scripts de llavero

5

¿Cómo puedo usar scripts de llavero para escribir un guión en Applescript que recupera el nombre de usuario y la contraseña de un sitio web desde el llavero iniciar sesión , dada la URL del sitio web?

    
pregunta Lorin Hochstein 03.03.2011 - 17:57

3 respuestas

6

Si conoce el nombre exacto del elemento del llavero, puede usar lo siguiente:

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

Lo que pasa es que las secuencias de comandos de Keychain son lentas y bastante buggy. Por ejemplo, la búsqueda de un elemento de llavero específico en el ejemplo anterior utilizando name contains en lugar de name is no funciona. Tendría que usar una declaración de repetición similar a la que @Philip publicó:

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ás de acuerdo en usar la línea de comandos y solo quieres buscar cosas, prefiero usar: security find-internet-password -g -s www.google.com y luego grep lo que quieres.

    
respondido por el Asmus 03.03.2011 - 19:25
3

Las secuencias de comandos de llavero están bastante mal en Lion, por lo que la herramienta de línea de comandos de seguridad es su mejor opción. Alternativamente, use la adición de secuencias de comandos de Red Sweater, que es más rápida y más fácil de usar que las secuencias de comandos de Acceso a Llaves antiguas.

Blog de suéter rojo: Secuencias de comandos de llavero utilizables para León

    
respondido por el Nik 03.12.2011 - 16:40
1

Keychain está expuesto a Applescript a través de la aplicación Keychain Scripting . Hay numerosos ejemplos en la web, siendo este 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

    
respondido por el Philip Regan 03.03.2011 - 18:21

Lea otras preguntas en las etiquetas