8 votes

AppleScript pour récupérer l'identifiant et le mot de passe en utilisant le script de trousseau

Comment puis-je utiliser le trousseau de clés de script pour écrire un script en Applescript qui récupère le nom d'utilisateur et le mot de passe d'un site web à partir du trousseau de clés login, en donnant l'URL du site web ?

7voto

Asmus Points 7195

Si vous connaissez le nom exact de l'élément du trousseau, vous pourriez utiliser le suivant :

tell application "Keychain Scripting" to tell keychain "login.keychain" to get {account, password} of (premier élément Internet dont le nom est "www.google.com")

Le problème est que Keychain Scripting est lent et assez bogué. Par exemple, la recherche d'un élément spécifique du trousseau dans l'exemple ci-dessus en utilisant name contains au lieu de name is ne fonctionne pas. Vous devrez utiliser une déclaration repeat similaire à celle postée par @Philip :

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

    repeat with x from 1 to (compter tous les éléments Internet)
        if name of Internet key x contains "Google" then
            return {account, password} of Internet key x
        end if

    end repeat
end tell

Si vous êtes d'accord pour utiliser la ligne de commande et que vous voulez simplement rechercher des informations, je préférerais utiliser : security find-internet-password -g -s www.google.com et puis grep ce que vous voulez.

3voto

Nik Points 31

Le scripting de trousseau est assez cassé dans Lion, donc l'outil de ligne de commande de sécurité est votre meilleur choix. En alternance, utilisez l'addition de script Red Sweater, qui est plus rapide et plus facile à scripter que les anciens scripts d'accès au trousseau.

Blog Red Sweater : Scripting de trousseau utilisable pour Lion

2voto

Mike Polen Points 3173

Le trousseau de clés est exposé à Applescript via l'application Keychain Scripting. Il existe de nombreux exemples sur le web, voici l'utilisation la plus basique :

définir le nomCourtUtilisateur comme texte du script de shell "/usr/bin/whoami" -- obtenir le nom court
de l'utilisateur. C'est ainsi que votre trousseau par défaut est étiqueté.

dis à l'application "Keychain Scripting"
    mettre myKeyChain en tant que trousseau le nomCourtUtilisateur
    mettre laListeCles en tant que chaque clé Internet de myKeyChain -- les clés de messagerie sont
généralement des clés Internet
    répéter avec x de 1 à (longueur de laListeCles)
        mettre laCle en tant qu'élément x de laListeCles
        si le nom de laCle est "nom de la clé ici" alors
            mettre leMotDePasse en tant que mot de passe de laCle -- obtenir le mot de passe
            mettre leUserID en tant que compte de laCle  -- obtenir l'utilisateur
        fin si
    fin répéter
end dis

De MacScripter

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X