首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提取TortoiseSVN保存的密码

提取TortoiseSVN保存的密码
EN

Stack Overflow用户
提问于 2010-10-07 23:15:18
回答 2查看 103.5K关注 0票数 125

有没有办法提取TortoiseSVN保存的凭据?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-25 22:14:18

简而言之:您可以使用轻松显示缓存的凭据,包括密码。

长篇大论:这个工具是如何工作的。

凭据保存在%APPDATA%\Subversion\auth\的子目录中。从this previous answer中列出的它们是:

  • svn.simple包含基本身份验证的凭据(username/password)
  • svn.ssl.server包含SSL服务器certificates
  • svn.username包含仅用户名身份验证的凭据(不需要密码)

第一个目录是您感兴趣的目录。它似乎包含名称类似于GUID的文件;一个文件对应于您为其保存凭据的每个存储库。

这些文件中的密码由Windows Data Protection API加密。上面的工具使用Obviex中的示例代码与此接口对接并执行解密。

为了使其正常工作,您必须有权访问您在选中“保存身份验证”复选框时运行时所使用的同一Windows用户帐户。这是因为Windows数据保护API使用与您的Windows帐户绑定的加密密钥。如果您丢失了此帐户(或者,我相信,如果管理员重置了您的密码),那么您将无法再解密密码(除非使用暴力破解/a third party tool)。拥有一个具有相同用户名/密码(甚至可能是SID的)的新Windows帐户是不够的。

票数 230
EN

Stack Overflow用户

发布于 2010-10-07 23:19:57

根据下面的信息,听起来你可以用某种方式在本地解密它们。

更新:来自TortiseSVN社区的权威答案

当它们通过加密的线路发送时,它们在连接时使用握手和/或商定的密钥进行加密。

当它们在本地存储/读取时,它们会通过Windows Crypto API进行加密/解密,该API使用与您的Windows帐户绑定的密钥。

服务器无法解密本地加密的副本,因为密钥是您帐户的本地密钥。

因此,当您连接(比方说通过HTTPS)时,您的客户端将获得通过适当的Windows API解密的凭据,然后将它们包含在HTTPS传输中。HTTPS使用SSL证书对客户端和服务器之间的整个通信进行加密,而不仅仅是证书。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3883129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档