【问题标题】:Does Mercurial access the Windows certificate store?Mercurial 是否访问 Windows 证书存储?
【发布时间】:2011-08-15 19:12:26
【问题描述】:

我正在努力将我们的源代码控制从 hg 1.6.0 升级到 1.8.2,并且我正在寻找设置和使用 SSL 证书。这是在运行 IIS 6.0 的 Windows Server 2008 Enterprise 系统上,而不是我的服务器,所以我现在需要使用这些版本的软件。我所有的用户也都在运行 Windows。

为了方便我的用户的安装/配置,我更愿意修改 Windows Cert Store 而不是 cacert.pem 文件。 Mercurial 是否有权访问 Windows 证书存储?它似乎没有。我正在使用内部创建的证书,通过将我的根证书添加到 Mercurial 中的 cacert.pem 文件中,我可以在没有 SSL 警告的情况下工作,但我似乎无法通过将证书添加到 Windows 证书商店来使其工作。我错过了什么吗?

谢谢, 斯科特

【问题讨论】:

    标签: windows mercurial certificate


    【解决方案1】:

    不,Mercurial 不访问 Windows 证书存储。
    includes in its distribution a cacert.pm(如你所知,即使在 1.7.3 之前,story was a bit different

    文章“X.509 certificates and Mercurial”有更多信息。

    这里要记住的主要一点是,Mercurial不会作为一个完整的服务器工作,根本不会以基本、摘要或证书的形式请求身份验证信息。 这意味着为了在 Mercurial 中使用 X.509 证书,需要在其前面放置一个知道这些身份验证机制的 Web 服务器。

    这篇文章包括 makecert.exe,它实际上了解 Windows 证书存储(与 Mercurial 本身相反)

    makecert.exeopenssl 有点不同,因为它直接与机器或用户的证书存储(Windows 中证书过着幸福生活的特殊地方)交互。

    【讨论】:

    • 感谢文章的链接。我曾使用 openssl 创建我的 CSR,不知道管理员使用什么来创建证书。我会试试makecert.exe。如果我使用 makecert,我是否需要客户端证书,或者如果 IIS 设置为不需要客户端证书,根证书和服务器证书是否足够?
    • @user693957: 根证书和服务器证书应该足够了,但这需要先测试。
    • 好的,我会测试它:)谢谢。
    • 它似乎不起作用。即使我将我的根证书添加到 LocalMachine 受信任的根证书中,hg 服务器的指纹也不会验证。如果我将我的根证书添加到 cacerts 文件中,那就没问题了。我将尝试更多不同证书和位置的组合,但似乎需要修改 cacerts 文件并且 Mercurial/Python 看不到 Windows 证书存储。
    • Winodws 证书商店不走运,我发现 Mercurial 无法访问它。修改 Mercurial cacerts 文件就可以了。
    猜你喜欢
    • 2016-06-03
    • 2016-03-13
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 2014-01-13
    • 2012-02-20
    • 1970-01-01
    • 2010-10-24
    相关资源
    最近更新 更多