Existe-t-il un moyen d'extraire les informations d'identification enregistrées par TortoiseSVN?
Existe-t-il un moyen d'extraire les informations d'identification enregistrées par TortoiseSVN?
Réponse courte: Vous pouvez utiliser TortoiseSVN Password Decrypter pour afficher facilement vos informations d'identification mises en cache, y compris les mots de passe.
Réponse longue: voici comment fonctionne l'outil.
Les informations d'identification sont enregistrées dans les sous-répertoires de %APPDATA%\Subversion\auth\
. À partir de cette réponse précédente, ils sont:
svn.simple
contient les informations d'identification pour l'authentification de base (nom d'utilisateur / mot de passe)svn.ssl.server
contient des certificats de serveur SSLsvn.username
contient les informations d'identification pour l'authentification par nom d'utilisateur uniquement (aucun mot de passe nécessaire)Le premier annuaire est celui qui vous intéresse. Il semble contenir des fichiers dont les noms ressemblent à des GUID; un pour chaque référentiel pour lequel vous avez enregistré les informations d'identification.
Les mots de passe de ces fichiers sont chiffrés par l' API Windows Data Protection . L'outil ci-dessus utilise un exemple de code d' Obviex pour s'interfacer avec cette API et effectuer le décryptage.
Pour que cela fonctionne, vous devez avoir accès au même compte d'utilisateur Windows sous lequel vous exécutiez lorsque vous avez coché la case "Enregistrer l'authentification". Cela est dû au fait que l'API de protection des données Windows utilise une clé de chiffrement liée à votre compte Windows. Si vous perdez ce compte (ou, je crois, si un administrateur réinitialise votre mot de passe), vous ne pourrez plus déchiffrer les mots de passe (sauf peut-être en utilisant la force brute / un outil tiers ). Avoir un nouveau compte Windows avec le même nom d'utilisateur / mot de passe (ou probablement même SID) n'est pas suffisant.
Sur la base des informations ci-dessous, il semble que vous puissiez les déchiffrer localement d'une manière ou d'une autre ...
MISE À JOUR: Réponse définitive de la communauté TortiseSVN
Lorsqu'ils sont envoyés sur le fil cryptés, ils sont cryptés à l'aide d'une poignée de main et / ou d'une clé convenue au moment de la connexion.
Lorsqu'ils sont stockés / lus localement, ils sont chiffrés / déchiffrés via l'API Windows Crypto qui utilise une clé liée à votre compte Windows.
La copie chiffrée localement ne peut pas être déchiffrée par le serveur car les clés sont locales à votre compte.
Ainsi, lorsque vous vous connectez (disons via HTTPS), votre client obtient les informations d'identification déchiffrées via l'API Windows appropriée, puis les inclut dans la transmission HTTPS. HTTPS crypte toute la communication entre le client et le serveur à l'aide de certificats SSL, pas seulement les informations d'identification.