2010-10-07 20 views

Répondre

211

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 complète: Voici comment fonctionne l'outil.

Les informations d'identification sont enregistrées dans des sous-répertoires de %APPDATA%\Subversion\auth\. En vente à partir this previous answer ils sont:

  • svn.simple contient des informations d'identification pour l'authentification de base (nom d'utilisateur/mot de passe)
  • svn.ssl.server contient des certificats de serveur SSL
  • svn.username contient des informations d'identification pour l'authentification nom d'utilisateur uniquement (sans mot de passe)

Le premier répertoire est celui qui vous intéresse. Il semble contenir des fichiers avec des noms qui ressemblent à des GUID; un pour chaque référentiel pour lequel vous avez enregistré des informations d'identification.

Les mots de passe dans ces fichiers sont cryptés par le Windows Data Protection API. L'outil ci-dessus utilise un exemple de code de Obviex pour interfacer avec cette API et effectuer un déchiffrement. Pour que cela fonctionne, vous devez avoir accès au même compte d'utilisateur Windows que vous utilisiez lorsque vous avez coché la case "Enregistrer l'authentification". En effet, l'API Windows Data Protection 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/a third party tool). Avoir un nouveau compte Windows avec le même nom d'utilisateur/mot de passe (ou même probablement SID) n'est pas suffisant.

8

D'après les informations ci-dessous il semble que vous pourriez possible les déchiffrer localement d'une certaine façon ...

MISE À JOUR: réponse définitive de la communauté TortiseSVN

Quand ils sont envoyés sur la fil cryptés, ils sont cryptés en utilisant une poignée de main et/ou une clé convenue au le moment de la connexion.

Quand ils sont stockés/lus localement, ils sont cryptées/décryptées par l' API Windows Crypto qui utilise une clé lié à votre compte Windows.

La copie chiffrée localement ne peut pas être décrypté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écryptées via l'API Windows appropriée, comprend alors les dans la transmission HTTPS. HTTPS crypte le entier communication entre le client & serveur utilisant certificats SSL , pas seulement les informations d'identification .

+0

Êtes-vous sûr que le mot de passe n'est pas décrypté du côté client? – Jus12

+0

Assez sûr ... sans poster une question explicite aux gens de TortiseSVN, voici ce que j'ai trouvé ... http: //tortoisesvn.net/docs/release/TortoiseSVN_fr/tsvn-dug.html#tsvn-dug-general- auth En outre, s'il a été décrypté côté client, puis repassé en texte brut sur le serveur, il serait contraire à l'objectif. Je suppose que vous pourriez l'envoyer via SSH. –

+0

mais effectivement tout le monde pourrait envoyer le texte chiffré au serveur et tortoiseSVN ne fournit aucune sécurité supplémentaire par chiffrement. – Jus12