回答:
短い答え:TortoiseSVN Password Decrypterを使用すると、パスワードなどのキャッシュされた資格情報を簡単に表示できます。
長い答え:ツールの仕組みは次のとおりです。
資格情報は、のサブディレクトリに保存され%APPDATA%\Subversion\auth\
ます。この以前の回答からリストされています:
svn.simple
基本認証の資格情報が含まれています(ユーザー名/パスワード)svn.ssl.server
SSLサーバー証明書が含まれていますsvn.username
ユーザー名のみの認証の資格情報が含まれています(パスワードは不要)最初のディレクトリが対象です。GUIDのような名前のファイルが含まれているようです。資格情報を保存したリポジトリごとに1つ。
これらのファイルのパスワードは、Windows Data Protection APIによって暗号化されます。上記のツールはObviexのサンプルコードを使用して、このAPIとインターフェースし、復号化を実行します。
これを機能させるには、[認証を保存]チェックボックスをオンにしたときに実行していたのと同じWindowsユーザーアカウントにアクセスできる必要があります。これは、Windows Data Protection APIがWindowsアカウントに関連付けられている暗号化キーを使用するためです。このアカウントを失う(または管理者がパスワードをリセットした場合、私は、信じている)なら、あなたは、もはやパスワードを解読することができなくなります(ただし、おそらくブルートフォース/使用してサードパーティ製のツールを)。同じユーザー名/パスワード(またはおそらくSID)を使用して新しいWindowsアカウントを作成するだけでは不十分です。
以下の情報に基づいて、ローカルで何らかの方法でそれらを復号化できるように思えます...
更新: TortiseSVNコミュニティからの明確な回答
暗号化されてネットワーク経由で送信される場合、接続時にハンドシェイクや合意済みのキーを使用して暗号化されます。
ローカルに保存/読み取りされると、Windowsアカウントに関連付けられたキーを使用するWindows Crypto APIを介して暗号化/復号化されます。
キーはアカウントに対してローカルであるため、ローカルで暗号化されたコピーはサーバーで復号化できません。
したがって、接続すると(たとえばHTTPS経由で)、クライアントは適切なWindows APIを介して暗号化された資格情報を取得し、HTTPS送信に含めます。HTTPS は、資格情報だけでなく、SSL証明書を使用してクライアントとサーバー間の通信全体を暗号化します。