我需要做什么才能使Internet Explorer 8接受自签名证书?


233

我们在Intranet上使用自签名证书。我需要做什么才能使Internet Explorer 8接受它们而不向用户显示错误消息?我们为Internet Explorer 7做的工作显然无法正常工作。

编辑:如果我将证书放入受信任的根证书颁发机构,Internet Explorer 7不会显示任何错误。即使使用那里的证书,Internet Explorer 8似乎也显示错误。


只是好奇,您在IE7中做了什么?
布兰恩

将其放入受信任的根证书存储区的证书

1
您是否有IE 8错误的屏幕截图?它在证书路径页面上显示什么?确保添加了CA,而不是站点证书。
J-16 SDiZ 2009年

6
实际上,David我认为SuperUser更合适。
Sameer Alibhai

60
这些关于问题所属位置的辩论是荒谬的。说真的,wtf。尽管它可能适合任何建议的网站,但作为开发人员的问题绝对合理,因为它是Web 开发人员经常面临的问题。
jpswain 2011年

Answers:


358

如何通过20步刺激使IE8信任自签名证书

  1. 浏览到要信任其证书的站点。
  2. 当被告知“此网站的安全证书有问题。”时,选择“继续此网站(不推荐)”。
  3. 选择工具➞Internet选项。
  4. 选择安全性➞受信任的站点➞网站。
  5. 确认URL匹配,然后单击“添加”,然后单击“关闭”。
  6. 使用“确定”或“取消”关闭“ Internet选项”对话框。
  7. 刷新当前页面。
  8. 当被告知“此网站的安全证书有问题。”时,选择“继续此网站(不推荐)”。
  9. 单击地址栏右侧的“证书错误”,然后选择“查看证书”。
  10. 单击“安装证书...”,然后在向导中单击“下一步”。
  11. 在下一页上,选择“将所有证书放入以下存储区”。
  12. 单击“浏览”,选择“受信任的根证书颁发机构”,然后单击“确定”。
  13. 返回向导,单击“下一步”,然后单击“完成”。
  14. 如果出现“安全警告”消息框,请单击“是”。
  15. 单击“确定”关闭消息框。
  16. 选择工具➞Internet选项。
  17. 选择安全性➞受信任的站点➞网站。
  18. 选择您刚刚添加的URL,单击“删除”,然后单击“关闭”。
  19. 现在关闭所有正在运行的IE实例,然后再次启动IE。
  20. 现在应该信任该站点的证书。

25
在IE 8(我在Windows 7上)中,在执行第5步后,取消选中“启用保护模式”。然后,您可以安装证书。但是,即使安装了证书后,我仍然会收到警告和红色的位置栏。
乔什

17
为标题+1 :)第12步最有用;没想到我一个人解决。
jpswain 2011年

3
我仔细检查了地址是否相同,但是我需要这样做:单击工具,单击Internet选项,单击高级,向下滚动到“检查发布者的证书吊销”。并取消选中此选项。单击“应用”,单击“确定”。关闭并重新打开浏览器 techsupportforum.com/forums/f56/…–
山本彰(Akira Yamamoto)

2
如果像我一样,使用旧的VM在Windows XP上测试IE8,请记住要确保系统时钟准确。这在证书验证中起作用。
AlexMA 2013年

17
这些步骤不适用于IE11。是否还需要执行其他操作?
user20358 2014年

71

我像这样工作

  1. 以具有管理特权的用户身份启动Internet Explorer。
  2. 使用计算机名称浏览到服务器计算机(忽略证书警告)
  3. 点击屏幕顶部的“证书错误”文本,然后选择“查看证书”
  4. 在“证书”对话框中,单击“安装证书”->“下一步”。
  5. 选择将所有证书放入以下商店->浏览
  6. 选中显示实体店复选框
  7. 选择受信任的根证书颁发机构–本地计算机
  8. 单击确定–下一步–完成–确定
  9. 重新启动Internet Explorer

23
这些步骤对我有用,但我必须选中“实体商店”复选框并选择“受信任的人”本地计算机。我尝试了其他所有组合,但除此之外没有任何效果。IE11
Diego Frehner 2014年

6
这是最佳答案,因为最高答案没有关键的“以具有管理特权的用户身份启动Internet Explorer”。
Nicholas Murray 2015年

2
我没有“受信任的人,本地计算机”作为选项,因此我只单击了“受信任的人”即可。
亚历克斯·安加斯

2
我还选择了“受信任的人”,它起作用了。注意我正在Windows 8 PC上进行测试。将证书存储在其他位置似乎没有用,我只能通过“ Trusted People”获得成功。
ScottyG

1
当我选择“受信任的人”->“本地计算机”选项时,它对我有用。要获取“本地计算机”选项,请在“以管理员身份运行”模式下运行IE。我正在使用Win7和IE11
Sagar

28

我尝试了来自不同人的很多步骤,这些人发布在不同的网站上。但是他们都没有提到我应该将证书添加到“受信任的人”密钥库中。

没错,将其置于受信任的CA之下不足以满足我的情况,我还必须将证书放入受信任的人员中。

那是:

  1. 运行MMC
  2. 添加证书管理单元,选择本地计算机
  3. 展开证书(本地计算机)->受信任的人->证书
  4. 右键单击所有任务->导入
  5. 完成向导

导出证书:

  1. 以admin身份运行IE(右键单击,以admin身份运行)
  2. 当提示无效证书时,请继续访问该网站
  3. 单击地址附近的证书错误,单击查看证书
  4. 转到详细信息选项卡,单击复制到文件
  5. 另存为* .cer文件。

我在Windows 9的IE9上


5
+1我用它来弄清楚,在Win8 x64的IE 10上,您以管理员身份运行IE,浏览,然后单击错误提示,然后从此处使用“安装证书”按钮,选择“受信任的人”作为目的地(certmgr.msc不需要) )
Ruben Bartelink

21

确保您的自签名证书与您的网站URL相匹配。如果没有,即使在Internet Explorer 8中明确信任证书后,您仍将继续出现证书错误(我没有Internet Explorer 7,但是Firefox将信任证书,而不管URL是否不匹配)。

如果这是问题,添加证书后,Internet Explorer 8中红色的“证书错误”框将显示“地址不匹配”作为错误。另外,“查看证书”具有“ 颁发给:”标签,该标签显示了证书所针对的URL。


1
很好的答案,“地址不匹配”是我遇到的错误。我以为我在安装证书时遇到了问题,但实际上似乎证书安装得很好,只是有点麻烦。
demoncodemonkey

1
在子域上对此进行扩展。自签名通配符证书不会持续存在此问题。issued to: *.example.com因此,如果您有多个自签名子域,试图让IE接受,则可以创建一个通配符证书,并将证书位置更新为通配符证书。请注意,如果使用子子域a.b.example.com,则必须为子子域*.b.example.com(NOT *.*.example.com)创建一个单独的通配符证书,以便它也可以在IE中工作。
fyrye 2014年

在尝试了以上所有内容之后,这就是我的答案。地址不匹配。谢谢!
2016年

16

如果您遇到地址不匹配错误,请允许地址不匹配:

  1. 工具,然后选择“ Internet选项”
  2. 选择“高级”标签
  3. 向下滚动并取消选中“警告证书地址不匹配”

这可以防止出现警告消息,但地址栏仍为红色
Russell

2
要将证书更新为正确的URL,请使用以下博客:robbagby.com/iis/…-问题的关键是使用第三方exe(selfssl.exe)并使用自定义URL创建证书(并将其分配给站点)。
罗素

这次真是万分感谢!我按照上面的2-3步进行操作,但仍然收到警告。导入证书大约六次后,此步骤是唯一有效的方法。谢谢!
Tensigh

Win10上的IE11:按Jay或Aya所述导入证书后,我仍然收到证书错误。仅在取消选中警告并重新启动后,才接受自签名证书(地址栏不为红色)。
Elektropepi,

9

伙计,今天我已经花了几个小时来解决这个问题。无论我在IE 8中做了什么,问题仍然存在。IE安装的证书显示在客户端PC的“受信任的根证书颁发机构”中,但是无论如何,IE仍然会抱怨。

这是我发现的解决方案:

在Web服务器上:

  • Win + R,MMC,输入。
  • 文件,添加-删除管理单元,证书,添加,管理以下用户的证书:我的用户帐户,完成,确定。
  • 导航到“证书-当前用户/受信任的根证书颁发机构/证书”。
  • 找到您的证书,右键单击“所有任务/导出”。
  • “不,不要导出私钥”
  • “ DER编码的二进制X.509(.CER)”
  • 将文件保存在某处。
  • 将新创建的.CER文件传输到客户端PC。

在客户端计算机上:

  • Win + R,MMC,输入。
  • 文件,添加-删除管理单元,证书,添加,管理以下用户的证书:我的用户帐户,完成,确定。
  • 导航到“证书-当前用户/受信任的根证书颁发机构/证书”。
  • 右键单击“证书”容器,“所有任务/导入”
  • 选择从服务器计算机传输的.CER文件。
  • 在下一个屏幕上,选择“将所有证书放入以下存储区”,单击“浏览”,选中“显示物理存储区”,然后选择“受信任的根证书颁发机构/本地计算机”。
  • 最后按“完成”。
  • 在Internet Explorer中:工具-删除浏览历史记录,
  • 在Internet Explorer中:工具-Internet选项-“内容”选项卡-清除SSL状态按钮。

5

这是我如何在IE8中使用它:

  1. 例如,转到有问题的网站https://xxx.yyy.com
  2. 单击直到您在浏览器状态行中看到“证书”错误。
  3. 查看证书,然后从“详细信息”选项卡中,选择“复制到文件”。
  4. 例如,将其另存为xxx.cer到桌面,
  5. 启动,运行,MMC。
  6. 文件,添加/删除管理单元,
  7. 选择证书,单击添加,我的用户帐户,然后单击完成,然后单击确定,
  8. 深入了解信任根证书颁发机构,证书,
  9. 右键单击证书,选择所有任务,导入,
  10. 从桌面选择保存证书
  11. 选择将所有证书放入以下商店,单击浏览,
  12. 选中显示实物存储,展开受信任的根证书颁发机构的框,然后选择本地计算机,单击确定,完成导入,
  13. 检查列表以确保它显示出来。您可能需要先刷新才能看到它。退出MMC,
  14. 打开浏览器,选择工具,删除浏览历史记录
  15. 选择除“私有过滤数据”以外的所有内容,
  16. 依次转到Internet选项,内容标签,清除SSL状态,
  17. 关闭浏览器,然后重新打开并进行测试。

如果禁用“复制到文件...”该怎么办?
jessegavin

3
@ jessegavin:以管理员身份运行IE
ryber 2011年

3

您应该将证书作为受信任的授权机构安装在计算机上。

有很多方法可以执行此操作,例如,您可以使用mmc(启动/运行/ mmc),添加“证书”管理单元,然后从那里可以安装自签名证书。

没有办法解决这个问题,因为证书的全部目的是在用户所访问的网站未得到可信机构的认证时警告用户。


除了登录到每台计算机之外,还有其他方法可以这样做吗?

如果您在公司环境中,并且公司在其所有计算机上都安装了作为受信任的机构的证书(这是常见设置),则可以使用此证书代替自己的证书进行签名
Brann

也可以从命令行安装证书,因此绝对有可能实现自动化。如何执行此操作很大程度上取决于系统管理员使用的工具。
布兰恩

2
如果我在本地计算机上安装了证书,则IE7可以正常工作。即使我将签名证书(此证书是自签名的)放在受信任的根证书颁发机构中,IE8似乎也会发出警告。我现在暂时忘记了组策略角度-我什至不能使其在一台机器上工作。

2

仅仅安装证书本身还不够,相反,您需要安装证书颁发机构的根证书。假设您使用Win Server的证书服务,则该证书是在该服务器上安装CS时创建的根证书。如前所述,必须将其安装到“受信任的根证书颁发机构”。


3
自签名证书的定义是其中根CA是证书本身的定义。通过信任证书,它将固有地被信任。
Derek Dysart

1
值得指出的是为别人谁来到这里的将来https://serverhttps://server.example.com是不同的,如果IT部门已经做了它的正确的东西,你可能需要完全合格的域名。
PeterI 2011年

2

这可能帮助别人我在IE11 Windows 7和我做了什么除了安装证书将internet选项==>高级选项卡==>安全==> “去掉勾选”从警告有关证书地址不匹配 除到下面-不要忘记关闭所有IE实例并在完成后重新启动:

1-启动Internet Explorer运行。

2-使用计算机名称浏览到服务器计算机(忽略证书警告)

3单击屏幕顶部的“证书错误”文本,然后选择“查看证书”

4-在“证书”对话框中,单击“安装证书”->“下一步”

5-选择将所有证书放入以下商店->浏览

6-安装到受信任的根证书..

然后重新启动。

希望这对某人有所帮助。


1

您可以使用GPO在域中使用证书。

但是我的问题是Internet Explorer 8,即使使用受信任的根证书存储中的证书,它也不会说它是受信任的站点。

有了这个和驱动程序签名,现在需要完成...我开始怀疑谁拥有我的计算机!


如果颁发者是受信任的根,则证书可能有问题。证书上的规范名称是否与用户用来访问站点的主机名匹配?当前时间是否在证书的有效范围内?
Yuliy 2010年

1

不幸的是,没有一种解决方案对我有用。我在Windows 7上使用了Internet Explorer8。在寻找解决方案时,我在控制面板中找到了有关登录信息的设置。因此,我在基于证书的信息下添加了一个带有服务器地址的新条目,然后选择了我喜欢的证书。

在Internet Explorer 8中清除SSL缓存后,我只是刷新了站点,然后将正确的证书发送到了服务器。

这不是我想要的解决方案,但是可以。


1

正如其他所有人所提到的,第一个任务是将证书添加到受信任的根证书颁发机构。

有一个自定义exe(selfssl.exe),它将创建一个证书,并允许您指定Issued to:值(URL)。这意味着Internet Explorer将使用自定义Intranet URL验证发布的URL。

确保重新启动Internet Explorer以刷新更改。


这是一个很好的建议,我认为对于“地址不匹配错误”这是正确的做法,我尝试了所有其他方法均无济于事。真正导致解决方案的是您对@AlisterScott的评论(包括此链接)。
大卫·罗杰斯

0

看起来不可能再没有证书错误了。我在使用IE 8的Windows XP上。组策略已安装了自签名证书作为可信任的根证书,用于访问内部站点。当我使用证书管理单元查看MMC时,可以在其中看到证书。

当我看:

Internet选项=>内容=>证书

它不在那里!

IE中的这种行为开始是因为我们的管理员放开了我于2009年12月10日在我的计算机上安装的最新的Patch-Tuesday更新。在此之前,我很高兴接受证书有效。


0

使用Web服务时遇到相同的问题。 微软在这里(漫长的)过程向您展示了如何在客户端上安装东西,基本上可以说您的自签名证书还可以。最后,我花了30美元从Godaddy.com购买了完整的证书。

PS我知道您可以围绕错误消息进行编码,但是出于测试原因,我们不想这样做。


0

你以前在做什么 对于自签名证书,我通常将证书本地安装在客户端系统上。

您可能可以使用组策略将证书推送到每个系统。


0

您需要确保“自签名证书” common name对您要设置的域使用正确的证书。如果您要对多个域使用相同的证书,则需要为每个域使用唯一的证书,或者所有ssl站点都是公共域的子域,则可以使用通配符域(如)生成证书*.domainname.tld

如果您未common name正确设置自签名证书,则Chrome和Firefox可能会起作用,但是每次加载网站时IE都无法找到该证书。在IE中,它看起来就像您已经添加了站点的证书,但实际上在页面加载时将永远找不到它。

如何为Mac的Apache设置SSL,以便可以在IE8上测试跨域iFrame


0

如何安装CA根证书,而不是网站证书:(IE8,Win7)

当您显示证书详细信息时,您正在查看的是网站证书,而不是CA证书。“常规”选项卡将显示“ 无法验证此证书 ...”。您需要通过单击“证书路径”选项卡并选择路径中最顶部的证书来选择CA。它应该有一个红色的X图标,并显示“此CA根证书不受信任,因为...”。单击“查看证书”按钮,然后在此新的“常规”选项卡上,您将看到“此CA根不受信任。。 。”这是您要导入到“受信任的根证书颁发机构”中的证书。

导入CA后,您无需导入常规网站证书。该证书将与您刚刚导入的CA相匹配,并且IE会将一切视为正常工作。您不需要以Admin身份运行IE,也不需要首先将站点添加到受信任的站点。导入后确实需要重新启动IE。


0

我尝试了所有提到的解决方案,但没有一个起作用。使用Internet Explorer 11(11.0.9600.17914),无法接受无效证书,因为该错误看上去完全像404。

这样做的帮助如下:-将主机添加到受信任的站点(如此处多次提到)-禁用TLS 1.2并启用SSL 1.0和SSL 2.0

最后一步是只有知道自己在做什么的人才可以做的事情。我们需要在这里使用一个非常奇怪的设置,因此我们找不到其他访问系统的方法。通常,不应该这样做降低安全性。


0

如果您正在进行一些本地测试,并且在主机文件中添加了一些别名,请说

127.0.0.1 www.mysite.com

并尝试使用上述任何步骤,都会失败。原因是您将导入本地主机的证书。证书网址不匹配。

在这种情况下,您将必须生成一个自签名证书,然后如上所述将其导入。

如果您使用的是Xampp,则可以使用c:\​​ xampp \ apache \ makecert.bat轻松地生成正确的证书


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.