Importer les mots de passe dans 1Password depuis Trousseaux d’accès iCloud

La macro présentée ici a été testée sous macOS Mojave et avec 1Password 7.

Préparer l'export des données

Étape 1 - Ouvrir les applications nécessaires.

  • Ouvrir Trousseaux d'accès
    • Sélectionner le trousseau "iCloud" et la catégorie "Tous les éléments"
    • Trier par Type
    • Cliquer sur la première ligne dont le type est "Mot de passe de formulaire web"
  • Ouvrir TextEdit avec un nouveau document vierge, prêt à être utilisé
  • Ouvrir Éditeur de script avec un nouveau document vierge, prêt à être utilisé

Étape 2 - Préparer la macro.

  • Copier/coller le code ci-dessous dans l'Éditeur de script
repeat 1 times
	delay 0.2
	tell application "Keychain Access"
		activate
		
		tell application "System Events"
			delay 0.2
			keystroke return
			
			-- Press ⌘C to copy item title
			delay 0.2
			keystroke "c" using command down
		end tell
	end tell
	
	--Switch to TextEdit
	delay 0.2
	tell application "TextEdit"
		activate
		tell application "System Events"
			-- Press ⌘V
			delay 0.2
			keystroke "v" using command down
			
			-- Type a comma
			delay 0.2
			keystroke ","
			
		end tell
	end tell
	
	--Switch to Keychain
	tell application "Keychain Access"
		activate
		tell application "System Events"
			-- Press Tab x2 
			delay 0.1
			keystroke tab
			delay 0.1
			keystroke tab
			delay 0.1
			keystroke tab
			
			-- Press ⌘C
			delay 0.2
			keystroke "c" using command down
		end tell
	end tell
	
	--Switch to TextEdit
	delay 0.2
	tell application "TextEdit"
		activate
		tell application "System Events"
			-- Press ⌘V
			delay 0.2
			keystroke "v" using command down
			
			-- Type ','
			delay 0.2
			keystroke ","
		end tell
	end tell
	
	--Switch to Keychain
	tell application "Keychain Access"
		activate
		tell application "System Events"
			-- Press Tab x2 
			delay 0.1
			tell application "System Events" to key code 48 using shift down
			
			-- Press ⌘C
			delay 0.2
			keystroke "c" using command down
		end tell
	end tell
	
	--Switch to TextEdit
	delay 0.2
	tell application "TextEdit"
		activate
		tell application "System Events"
			-- Press ⌘V
			delay 0.2
			keystroke "v" using command down
			
			-- Type ','
			delay 0.2
			keystroke ","
		end tell
	end tell
	
	--Switch to Keychain
	tell application "Keychain Access"
		activate
		tell application "System Events"
			-- Click the “Show password:” checkbox.
			delay 0.2
			keystroke "c" using {shift down, command down}
			
			-- Type password - update to yours
			delay 0.5
			keystroke "password"
			delay 0.2
			keystroke return
			
			-- Close keychain item window
			delay 0.3
			keystroke "w" using command down
			
			-- Go to next keychain item
			delay 0.2
			key code 125
		end tell
	end tell
	
	--Switch to TextEdit
	delay 0.2
	tell application "TextEdit"
		activate
		tell application "System Events"
			-- Press ⌘V
			delay 0.2
			keystroke "v" using command down
			
			-- Press Return
			delay 0.2
			keystroke return
		end tell
	end tell
end repeat
end run

Pensez à modifier (ligne 104) le "password" par votre mot de passe de session.

Exporter les passwords depuis iCloud

Étape 1 - Premier essai

  • Lancer le script en cliquant sur le bouton "Exécuter le script"

Il est essentiel de ne pas toucher votre Mac pendant l'opération.

Étape 2 - Lancer l'export

Lorsque vous aurez fait un premier essai avec cette macro en s'assurant qu'elle fonctionne bien, et que l'import dans 1Password fonctionne correctement, vous pourrez modifier le nombre de fois où va être exécutée la macro (ligne 1).
Personnellement j'ai pas mis plus de 30, pour pouvoir vérifier que les copier/coller avait bien fonctionné.

Étape 3 - Vérifier, Convertir

Une fois l'export terminé, vérifiez que chaque ligne du fichier est bien constituée comme ceci :

title,website,username,password

Ce qui donne par exemple :

Amazon.com (wendy_appleseed),https://amazon.com/,wendy_appleseed,password123

Puis enregistrez le fichier au format CSV : export-icloud.csv par exemple

Importer les données dans 1Password

  • Ouvrir 1Password, puis aller dans Fichier -> Importer...
  • Cliquer sur Autre puis Importer un fichiers CSV
  • Choisir le fichier export-icloud.csv

L'import se fait immédiatement, vous n'avez plus rien à faire.

  1. Albouy PHILIPPE a laissé un commentaire sur 19 février 2019 at 21 h 27 min

    Bonjour l’article ne dit pas comment exporter ses données 1Password vers le trousseau iCloud ce qui serait utile si finalement on préfère une solution gratuite comme le trousseau icloud
    Merci pour la reponse
    PHILIPPE

    • Cyril a laissé un commentaire sur 22 février 2019 at 11 h 26 min

      Bonjour Philippe,
      Tout d’abord merci pour votre commentaire. Il est vrai qu’il serait utile de donner la marche à suivre pour réaliser l’inverse. A ce jour je n’ai pas eu besoin de le faire, je vais m’y pencher dessus et je ferais un article qui viendra en complément de celui ci.
      A bientôt, Cyril.

  2. Tom a laissé un commentaire sur 13 avril 2019 at 10 h 45 min

    Bonjour,

    Merci pour le partage de cet astuce. En revanche, lorsque je la mets en application, cela ne fonctionne pas comme vous l’avez décrit. En effet, à la fin du processus, sur le text édit, j’ai « accounts.google.com (xxxxx@gmail.com),https://accounts.google.com,xxxxxxxx@gmail.com,xxxxxxx@gmail.com) – xxxx étant mon mail. Pas de traces du mot de passe. De plus le script fait taper mon mon de passe de session pour visualiser le mdp dans la ligne compte.

    • Cyril a laissé un commentaire sur 15 avril 2019 at 11 h 23 min

      Bonjour Tom,

      Je viens de re-tester le script sur mon mac, il fonctionne toujours correctement (pour vérifier qu’il n’y ai pas eu de mise à jour modifiant l’interface de Keychain Access).
      Il faut peut être modifier les délais entre les opérations (toutes les lignes où il y a « Delay 0.[chiffre] »), je suspecte votre ordinateur de ne pas avoir le temps de réaliser l’opération avant de passer à la suivante.

      N’hésitez pas à revenir vers moi si celà ne fonctionne toujours pas.
      A bientôt, Cyril.

      • Tom a laissé un commentaire sur 18 avril 2019 at 18 h 56 min

        J’ai essayé avec vos modifications. désormais cela fonctionne. Cependant, cela fonctionne si je fais un par un. dès que j’ai sélectionne 2 ou 3 (total de 500 à extraire) le bug se réitère. je dois mettre un délai plus important ?

        Merci pour votre aide

        • Cyril a laissé un commentaire sur 19 avril 2019 at 23 h 33 min

          Malheureusement c’est la seule solution que je vois pour régler le problème

          • Tom a laissé un commentaire sur 21 avril 2019 at 13 h 10 min

            je suis sous hight sierra. cela vient peut être de la

  3. Tom a laissé un commentaire sur 14 avril 2019 at 10 h 41 min

    Bonjour,

    Merci pour le partage. Ce scripte est très interessant. Cependant, je n’arrive pas à le faire fonctionner correctement. En effet quand je le lance, les informations récupérées sont de type account gmail, l’adresse mail mais pas de mot de passe.

    De plus à la fin du processus du script il écrit le mot de passe de cession dans la case compte du trousseau.

    Un idée pour régler le bug?

    Merci

  4. NC03 a laissé un commentaire sur 23 juin 2019 at 9 h 24 min

    Un énorme merci pour ce script qui vient de me sauver la vie suite à un nouvel ordinateur sous Windows…
    Quel dommage que le trousseau ne soit pas compatible Windows, pour éviter ces transitions farfelues de mdp. C’est assez étrange de voir son ordinateur travailler tout seul !

    Fonctionne encore au 23 Juin 2019 sous macOS Mojave 10.14.5 !

    Un énorme merci encore pour ce précieux gain de temps !

    • Cyril a laissé un commentaire sur 29 novembre 2019 at 13 h 07 min

      Bonjour,
      Avec plaisir, si cela vous a été utile, alors cet article a rempli sa fonction 🙂
      Bonne journée

  5. David a laissé un commentaire sur 28 novembre 2019 at 17 h 58 min

    Bonjour,

    Pardon de déterrer ce thread mais dans le script les données sont exportées à la suite, et semblent ne pas se mettre à la ligne pour chaque identifiant/ mot de passe. Est-ce gênant? pour ma part 1 password m’indique 1 erreur mais ne me la décrit pas.

    Merci pour vos éclaircissements

    • Cyril a laissé un commentaire sur 29 novembre 2019 at 13 h 06 min

      Bonjour David,
      oui c’est gênant, et l’erreur dans 1Password vient certainement de là.
      Par contre, ce n’est pas normal qu’il ne fasse pas les retours à la ligne dans le fichier csv.
      Vous utilisez quelle version de macOS et 1Password ?

  6. Carabulis a laissé un commentaire sur 19 décembre 2019 at 15 h 44 min

    Bonjour,
    J’observe l’affichage de la popup suivante lors de l’exécution du script : Erreur dans System Events : Éditeur de script n’est pas autorisé à envoyer de saisies.
    Auriez vous une idée comment résoudre ce problème ?
    Merci.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.