为什么Windows 2012 R2不信任我的自签名证书?


9

在测试环境中,由于Windows拒绝信任我们拥有的自签名证书,我目前无法进行一些需要尽快部署的事情(实际上已经,但是您知道截止日期如何...)。孤立的测试环境。尽管我可以通过“真实”证书和一些DNS技巧来绕开问题,但是出于安全性/隔离化的原因,我没有提到该证书。

我正在尝试连接到名为Zimbra的基于Linux的电子邮件服务器。它正在使用自动生成的自签名OpenSSL证书。虽然Google专门打开的页面是指具有IIS自签名证书的IIS网站,但我认为生成它的方法实际上并不重要。

根据我在此处此处找到的说明,这很简单,只需将证书安装到本地计算机的“受信任的根证书颁发机构”存储中即可。我已经完成了这些工作,以及手动复制证书并通过MMC管理单元直接将其导入。注销和重新启动不会更改任何内容。

这是我每次都收到的证书错误: 在此处输入图片说明

这是“认证路径”(破坏者:这只是证书本身): 在此处输入图片说明

最后,这是安全存放在本地计算机的证书存储区中的证书,与我发现的说明完全一样: 在此处输入图片说明

当我使用Server 2012 R2连接到基于Linux的服务器时,这些说明专门针对Vista(嗯,第二个没有提及OS)和IIS。导入向导中有一些差异(例如,尽管我已经尝试了两者,但我的选项可以为当前用户或本地系统导入),所以也许在这里我需要做些不同的事情吗?我尚未发现的某个设置必须进行更改才能使其真正信任我已经告诉它信任的证书?

使Windows Server 2012 R2信任自签名证书的正确方法是什么?


无法重现您的问题。如果您使用IIS的“创建自签名证书”,然后选择将其安装在“个人”存储(也尝试过Web Hosting存储)中,则完全没有问题。您是如何创建证书的?从IIS还是从证书颁发机构MMC管理单元?

您是否尝试过明确选择目标存储(从mmc控制台导入)?
JoaoCC 2014年

@SujaySarma不是用于IIS网站,而是用于名为Zimbra的Linux应用程序。这是一个OpenSSL自签名证书。
Kromey 2014年

@ user1703840是的,我已经明确指定了目标存储,并允许Windows通过IE中的MMC和证书导入向导自动选择它。两种方法的结果相同,但没有结果。
Kromey 2014年

??Linux是从哪里来的?您的整个问题和已发布的链接(包括屏幕截图)都与Windows Server 2012 R2和IIS有关。请说清楚。

Answers:


1

您收到的错误不是它不是受信任的根证书,而是它不能验证到受信任证书的链。如果链的任何部分损坏,不可信或丢失,您将收到此类错误。我使用不受信任的自签名获得的错误是这样的:此CA根证书不受信任。要启用信任,请在“受信任的根证书颁发机构”存储中安装此证书。但是对于您来说,它说它不能验证最多受信任的根证书。这可能是因为在自签名过程中,您可能已告诉openssl使用不同的根(不是自签名)对证书进行签名,或者可能尚未将其设置为根CA。如果是第一个,则必须信任与其签署的根。如果是后者,则需要在openssl.conf中设置一些属性。


屏幕快照显示证书已安装在Trusted Root CA中,并且还显示了整个链都是证书本身-它是根,因此位于Trusted Root CA中就足够了。问题是为什么不呢?
Kromey 2014年

我是说它可能不是根,不是说它没有添加到受信任的根存储中。该错误是什么奇怪的它-它不应该说无法验证它到信任的CA,如果它应该是一个CA -这就是为什么我建议,这也不是一个根,但签约另一个证书。
flashbang 2014年

请尝试在您要获取证书的盒子上运行此命令:openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 30 -sha256 -nodes并将该证书导入受信任的根CA存储。(当然,以及将其配置为Zimbra使用的证书和密钥)。
flashbang 2014年

哦,我明白你的意思。对不起,我误会了。但是,如果不是根目录,该目录是否不会显示在“认证路径”窗口中?不幸的是,无论如何,我实际上无法对此进行进一步的测试-我设法获得了我们的合法证书,并且hosts文件中出现了一些黑客攻击,使它得以正常工作。
Kromey 2014年

根据屏幕截图,您的证书来自根CA。如果您查看idp.godaddy.com的证书详细信息,则会显示整个路径,可以将其用作比较。如果您查看MMC中证书的属性,证书中是否包含服务器身份验证?(右键单击第二个屏幕快照中的证书,然后选择属性)。
约翰·奥尔德2014年

1

根据我的判断,您需要将zmaster添加为受信任的源CA,因为这是颁发机构,WS2k12试图针对一无所知的主机验证证书。没错,生成方法并不重要,但可验证的来源很重要。这会产生您所遇到的效果:WS2k12不仅仅因为名称为$ Random_issuing_authority而信任证书,它需要能够验证证书。


这是一个自签名证书-通过将证书放入受信任的根CA存储中,就定义而言,您就是信任颁发者。
克里斯·麦考恩

除非我丢失了某些东西,否则这就是我所做的事情-请参阅第三个屏幕快照,其中显示了Trusted Root CA存储中的zmaster证书。
Kromey 2014年

0

我遇到了同样的问题,原来我的解决方案是为dovecot使用的邮件服务器更新.crt和.key文件。邮件中的Exim4具有更新的证书/密钥集,但是dovecot仍指向旧的证书/密钥集。

旧的证书/密钥对在大多数情况下都可以正常工作,但不适用于outlook.com或MS ​​Outlook 2013。

outlook.com的问题导致我最近升级了exim4证书-现在dovecot [和网络邮件服务器]也使用了新的证书(和密钥)文件。邮件服务器本身最近也进行了升级(从旧的Debian squeeze-lts升级到wheezy),旧的设置可以很好地使用旧的证书/密钥集,但是升级之后,我需要在之前创建新的证书/密钥集MS产品可以与邮件服务器正常工作。


0

我认为问题在于您如何访问资源。对于本地网络,您可以使用主机名而不是完整域名。但是,您的证书是针对完整域名颁发的。


这个问题已经有一个可以接受的答案。
BE77Y

-1

将证书安装到受信任的根证书颁发机构和受信任的发布者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.