Applescript per recuperare account e password utilizzando lo scripting keychain

6

Come posso utilizzare lo scripting di portachiavi per scrivere uno script in Applescript che recupera il login e la password di un sito web dal portachiavi login , dato l'URL del sito web?

    
posta Lorin Hochstein 03.03.2011 - 17:57
fonte

3 risposte

6

Se conosci il nome esatto dell'elemento portachiavi, puoi utilizzare quanto segue:

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

Il fatto è che lo scripting di portachiavi è lento e abbastanza buggato. Ad esempio, la ricerca di un elemento portachiavi specifico nell'esempio precedente utilizzando name contains anziché name is non funziona. Dovresti usare un'istruzione repeat simile a ciò che @Philip ha pubblicato:

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

Se stai bene per usare la riga di comando e vuoi solo cercare cose, preferisco usare: security find-internet-password -g -s www.google.com e poi grep cosa vuoi.

    
risposta data 03.03.2011 - 19:25
fonte
3

Lo scripting di portachiavi è abbastanza ben suddiviso in Lion, quindi lo strumento da riga di comando di sicurezza è la soluzione migliore. In alternativa, usa l'aggiunta di script di Red Sweater, che è più veloce e più facile da script rispetto ai vecchi script Accesso Portachiavi.

Blog di maglioni rossi: keychain utilizzabile per script per Lion

    
risposta data 03.12.2011 - 16:40
fonte
1

Il portachiavi è esposto a Applescript tramite l'applicazione Keychain Scripting . Ci sono numerosi esempi sul web, questo è l'uso più basilare:

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

Da MacScripter

    
risposta data 03.03.2011 - 18:21
fonte

Leggi altre domande sui tag