我正在尝试使用 winldap 向 Opends 服务器进行身份验证,我将自签名证书安装到系统受信任的根证书、个人存储等(如果适用)。 ldp.exe 是微软的一个工具,适用于 ssl 和 tls 连接。我的 PC 中有 2 个用户帐户(管理员和管理员),除了我的 Windows 服务外,这两个用户帐户的一切都正常。
我的 Windows 服务(图书馆管理程序)无法验证服务器证书。但我的示例代码可以工作(这是类似于我的Windows服务的一小部分代码),
我在这个网站上看到了类似的场景以及他们的建议( https://msdn.microsoft.com/en-us/library/aa702621.aspx )。
我的服务在服务选项卡中显示组名称为 N/A,在任务管理器的进程选项卡中显示用户名为 SYSTEM,我不知道该怎么做,请有人帮助我解决此问题。
提前致谢。
最佳答案
实际上Windows有3种类型的证书存储本地用户、系统、服务。 通常Windows服务作为一个名为System的特殊帐户运行(我们也可以让它在特定的用户帐户上运行)
自签名证书仅添加到本地用户帐户(如上所述,对于管理员和管理员)。因此 Windows 服务无法验证证书。
解决方案是将证书添加到系统存储中。
程序运行良好
关于Windows 服务无法访问证书存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32579014/