rka*_*rer 223
简短回答:您可以使用TortoiseSVN Password Decrypter轻松显示您的缓存凭据,包括密码.
答案很长:这是该工具的工作原理.
凭据保存在子目录中%APPDATA%\Subversion\auth\
.从之前的答案中列出它们是:
svn.simple
包含基本身份验证的凭据(用户名/密码)svn.ssl.server
包含SSL服务器证书svn.username
包含仅用户名验证的凭据(无需密码)第一个目录是感兴趣的目录.它似乎包含名称看起来像GUID的文件; 为您保存凭据的每个存储库一个.
这些文件中的密码由Windows Data Protection API加密.上面的工具使用Obviex的示例代码与此API接口并执行解密.
为了使其正常工作,当您勾选"保存身份验证"复选框时,您必须能够访问您在其下运行的同一Windows用户帐户.这是因为Windows Data Protection API使用与Windows帐户绑定的加密密钥.如果你失去了这个帐户(或者,我相信,如果管理员重置您的密码),那么你将不再能够(除了解密密码可能通过使用蛮力/ A 第三方工具).拥有一个具有相同用户名/密码(或者甚至可能是SID)的新Windows帐户是不够的.
根据下面的信息,听起来你可以用某种方式在本地解密它们......
更新: TortiseSVN社区的最终答案
当它们通过加密的线路发送时,它们在连接时使用握手和/或商定的密钥加密.
当它们在本地存储/读取时,它们通过Windows Crypto API加密/解密,后者使用与Windows帐户绑定的密钥.
服务器无法解密本地加密的副本,因为密钥是您帐户的本地密钥.
因此,当您连接(假设通过HTTPS)时,您的客户端将通过适当的Windows API获取解密的凭据,然后将其包含在HTTPS传输中.HTTPS 使用SSL证书加密客户端和服务器之间的整个通信,而不仅仅是凭据.
归档时间: |
|
查看次数: |
91100 次 |
最近记录: |