Відповіді:
Коротка відповідь: Ви можете використовувати TortoiseSVN Password Decrypter для легкого відображення кешованих даних, включаючи паролі.
Довга відповідь: Ось як працює цей інструмент.
Вхідні дані зберігаються у підкаталогах %APPDATA%\Subversion\auth\
. Перелічені з попередньої відповіді :
svn.simple
містить облікові дані для базової автентифікації (ім'я користувача / пароль)svn.ssl.server
містить сертифікати сервера SSLsvn.username
містить облікові дані для автентифікації лише для імені користувача (пароль не потрібен)Перший каталог представляє інтерес. Схоже, містять файли з іменами, схожими на GUID; по одному для кожного сховища, для якого ви зберегли облікові дані.
Паролі в цих файлах шифруються API захисту даних Windows . Наведений вище інструмент використовує зразок коду від Obviex для взаємодії з цим API та проведенням дешифрування.
Для того, щоб він працював, ви повинні мати доступ до того самого облікового запису користувача Windows, під яким ви працювали, коли ви поставили прапорець "Зберегти автентифікацію". Це пояснюється тим, що API захисту даних Windows використовує ключ шифрування, який прив’язаний до вашого облікового запису Windows. Якщо ви втратите цей обліковий запис (або, я вважаю, якщо адміністратор скине ваш пароль), ви більше не зможете розшифрувати паролі (за винятком можливо , використовуючи грубу силу / інструмент сторонніх розробників ). Новий обліковий запис Windows з тим же ім’ям користувача / паролем (або, можливо, навіть SID) недостатньо.
Виходячи з наведеної нижче інформації, це здається, ви могли б дещо розшифрувати їх локально ...
ОНОВЛЕННЯ: остаточна відповідь від спільноти TortiseSVN
Коли вони надсилаються за допомогою зашифрованого проводу, вони шифруються за допомогою рукостискання та / або узгодженого ключа під час з'єднання.
Коли вони зберігаються / читаються локально, вони шифруються / розшифровуються за допомогою програмного забезпечення Windows Crypto API, який використовує ключ, прив’язаний до вашого облікового запису Windows.
Локально зашифрована копія не може бути розшифрована сервером, оскільки ключі є локальними для вашого облікового запису.
Отже, коли ви підключаєтесь (скажімо, через HTTPS), ваш клієнт отримує облікові дані, розшифровані через відповідний API Windows, а потім включає їх у передачу HTTPS. HTTPS шифрує всю комунікацію між клієнтом та сервером за допомогою SSL-сертифікатів, а не лише облікові дані.