我需要做啥才能让 Internet Explorer 8 接受自签名证书?

Posted

技术标签:

【中文标题】我需要做啥才能让 Internet Explorer 8 接受自签名证书?【英文标题】:What do I need to do to get Internet Explorer 8 to accept a self signed certificate?我需要做什么才能让 Internet Explorer 8 接受自签名证书? 【发布时间】:2010-10-15 11:10:52 【问题描述】:

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

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

【问题讨论】:

只是好奇,你在 IE7 中做了什么? 将证书放入可信根证书存储中 你有 IE 8 错误的截图吗?它在证书路径页面上显示什么?确保您添加了 CA,而不是站点证书。 其实大卫我觉得SuperUser更合适。 这些关于问题归属的辩论是荒谬的。说真的,wtf。虽然它可能适合任何建议的网站,但作为开发人员问题绝对合理,因为这是网络开发人员经常面临的问题。 【参考方案1】:

如何让 IE8 信任自签名证书 20 个烦人的步骤

    浏览到您要信任其证书的站点。 当被告知“此网站的安全证书存在问题。”时,选择“继续访问此网站(不推荐)。” 选择工具➞Internet选项。 选择安全性➞可信站点➞站点。 确认网址匹配,然后点击“添加”然后“关闭”。 单击“确定”或“取消”关闭“Internet 选项”对话框。 刷新当前页面。 当被告知“此网站的安全证书存在问题。”时,选择“继续访问此网站(不推荐)。” 点击地址栏右侧的“证书错误”,选择“查看证书”。 单击“安装证书...”,然后在向导中单击“下一步”。 在下一页选择“将所有证书放入以下存储”。 点击“浏览”,选择“受信任的根证书颁发机构”,然后点击“确定”。 返回向导,单击“下一步”,然后单击“完成”。 如果您收到“安全警告”消息框,请单击“是”。 点击“确定”关闭消息框。 选择工具➞Internet选项。 选择安全性➞可信站点➞站点。 选择刚刚添加的网址,点击“删除”,然后点击“关闭”。 现在关闭所有正在运行的 IE 实例,然后重新启动 IE。 现在应该信任该站点的证书。

【讨论】:

在 IE 8 中(我在 windows 7 上),在第 5 步之后,取消选中“启用保护模式”。然后就可以安装证书了。但是,即使在安装证书之后,我仍然会收到警告和红色位置栏。 标题 +1 :) 第 12 步是最有用的;不是我自己想出来的。 我仔细检查了地址是否相同,但我需要这样做才能工作: 单击工具 单击 Internet 选项 单击高级 向下滚动到“检查发布者的证书吊销”。并取消选中。点击应用点击确定关闭并重新打开浏览器techsupportforum.com/forums/f56/… 如果您像我一样使用旧虚拟机在 Windows XP 上测试 IE8,请记住确保您的系统时钟是准确的。这在证书验证中起作用。 这些步骤不适用于 IE 11。还有其他需要做的事情吗?【参考方案2】:

我是这样工作的

    以具有管理权限的用户身份启动 Internet Explorer。 使用 计算机名称(忽略证书 警告) 单击“证书错误”文本 在屏幕顶部并选择 “查看证书” 在“证书”对话框中,单击 安装证书 -> 下一步 选择将所有证书放入 以下商店 -> 浏览 选中显示实体店复选框 选择受信任的根证书 当局 - 本地计算机 点击确定——下一步——完成——确定 重新启动 Internet Explorer

【讨论】:

这些步骤对我有用,但我必须检查*实体店复选框并选择*受信任的人*本地计算机。我尝试了其他所有组合,除此之外没有任何效果。 IE11 这是最佳答案,因为最佳答案没有关键的“以具有管理权限的用户身份启动 Internet Explorer。” 我没有“受信任的人,本地计算机”选项,所以我只是点击了“受信任的人”,它就起作用了。 我也刚刚选择了“可信赖的人”,它起作用了。注意我在 Windows 8 PC 上进行测试。将证书存储在其他位置似乎不起作用,我只成功了“受信任的人”。 当我选择“受信任的人”->“本地计算机”选项时,它对我有用。要获得“本地计算机”选项,请以“以管理员身份运行”模式运行 IE。我正在使用 Win7 和 IE11【参考方案3】:

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

没错,将它放在受信任的 CA 下对于我的情况是不够的,我还必须将证书放在受信任的人中。

那是:

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

导出证书:

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

我使用的是 IE9、Windows 7

【讨论】:

+1 我用它来确定在 Win8 x64 上的 IE 10 上,您以管理员身份运行 IE,浏览,然后单击错误,然后从那里使用 Install Cert 按钮,选择受信任的人作为目的地(不需要certmgr.msc【参考方案4】:

确保您的自签名证书与您的站点 URL 匹配。如果不是,即使在 Internet Explorer 8 中明确信任证书后,您仍将继续收到证书错误(我没有 Internet Explorer 7,但无论 URL 不匹配,Firefox 都会信任该证书)。

如果这是问题所在,在您添加证书后,Internet Explorer 8 中的红色“证书错误”框将显示“地址不匹配”作为错误。此外,“查看证书”有一个 Issued to: 标签,显示证书对哪个 URL 有效。

【讨论】:

很好的答案,“地址不匹配”是我遇到的错误。我以为我在安装证书时遇到了问题,但实际上证书似乎安装得很好,只是有点问题。 对子域进行一些扩展。自签名通配符证书不存在此问题。 issued to: *.example.com 因此,如果您有多个自签名子域试图让 IE 接受,您可以创建一个通配符证书并将证书位置更新为通配符证书。如果使用子域a.b.example.com,请注意,因为您必须为子域*.b.example.com(不是*.*.example.com)创建单独的通配符证书,它才能在IE中工作。 这是我在尝试了上面和其他地方的所有内容之后的答案。地址不匹配。谢谢!【参考方案5】:

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

    工具并选择 Internet 选项 选择“高级”选项卡 向下滚动并取消选中警告证书地址不匹配

【讨论】:

这样可以防止警告信息,但地址栏仍然是红色的 要将证书更新到正确的 URL,请使用此博客:robbagby.com/iis/… - 关键是使用第 3 方 exe (selfssl.exe) 并创建证书(并将其分配给站点)自定义网址。 谢谢你!我按照上面的 2-3 步操作,仍然收到警告。这一步是导入证书大约六次后唯一有效的方法。谢谢! Win10上的IE11:按照Jay或Aya描述的导入证书后,我仍然收到证书错误。只有在取消选中警告并重新启动后,自签名证书才被接受(地址栏不显示为红色)。【参考方案6】:

伙计,今天我花了几个小时来解决这个问题。无论我在 IE 8 中做了什么,问题仍然存在。 IE安装的证书出现在客户端PC的Trusted Root Certification Authorities中,但是无论如何IE还是报错。

这是我发现的解决方案:

在网络服务器上:

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

在客户端机器上:

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

【讨论】:

【参考方案7】:

这是我如何让它在 IE8 中工作的:

    例如,访问相关网站,https://xxx.yyy.com, 单击直到您在浏览器状态行中看到证书错误。 查看证书,然后从“详细信息”选项卡中选择“复制到文件”。 另存为 xxx.cer 到桌面,例如, 开始,运行,MMC。 文件,添加/删除管理单元, 选择证书,点击添加,我的用户帐户,然后完成,然后确定, 深入了解信任根证书颁发机构、证书, 右键单击证书,选择所有任务,导入, 从桌面选择保存证书 选择Place all Certificates in the following Store,点击Browse, 选中显示物理商店的框,展开受信任的根证书颁发机构,然后在此处选择本地计算机,单击确定,完成导入, 检查列表以确保它显示出来。您可能需要刷新才能看到它。退出 MMC, 打开浏览器,选择工具,删除浏览历史记录 选择除私人过滤数据之外的所有数据,完成, 转到 Internet 选项、内容选项卡、清除 SSL 状态, 关闭浏览器并重新打开并测试。

【讨论】:

如果“复制到文件...”被禁用,有什么建议吗? @jessegavin: 以管理员身份运行 IE【参考方案8】:

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

有很多方法可以做到这一点,例如您可以使用 mmc (start/run/mmc),添加证书管理单元,然后您可以从那里安装您的自签名证书。

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

【讨论】:

除了登录每台机器之外,还有其他方法吗? 如果您在公司环境中,并且如果您的公司在其所有计算机上都安装了作为受信任机构的证书(这是一种常见设置),您可以使用此证书来签署您的证书自签名证书 也可以从命令行安装证书,所以肯定可以自动化。如何做到这一点在很大程度上取决于您的系统管理员使用什么工具。 如果我在本地机器上安装了证书,IE7 就可以工作。即使我将签名证书(这个是自签名的)放在受信任的根证书颁发机构中,IE8 似乎也会发出警告。我现在愿意忘记组策略的角度——我什至不能让它在单台机器上工作。【参考方案9】:

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

【讨论】:

自签名证书的定义是根 CA 是证书本身。通过信任证书,它将是天生受信任的。 值得为将来来到这里的任何人指出https://serverhttps://server.example.com 是不同的,如果 IT 部门做得正确,您可能需要完全限定的域名。 【参考方案10】:

这可能会帮助我在 IE11 windows 7 上的人以及我所做的除了安装证书之外是转到互联网选项 ==> 高级选项卡 == > 安全 ==> 从警告中“删除检查”关于证书地址不匹配 除了以下 - 不要忘记关闭所有 IE 实例并重新启动 - 完成后:

1-启动 Internet Explorer 运行。

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

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

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

5-选择将所有证书放在以下存储中-> 浏览

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

然后重启。

希望这对某人有所帮助。

【讨论】:

【参考方案11】:

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

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

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

【讨论】:

如果颁发者是受信任的根,那么证书可能有问题。证书上的规范名称是否与用户用于访问站点的主机名匹配?当前时间是否在证书的有效期内?【参考方案12】:

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

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

这不是我想要的解决方案,但它有效。

【讨论】:

【参考方案13】:

正如其他人所提到的,首要任务是将证书添加到受信任的根机构。

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

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

【讨论】:

这是一个很好的建议,我认为对于“地址不匹配错误”这是正确的方法,我尝试了所有其他方法都无济于事。真正导致解决方案的是您对@AlisterScott 的评论(包括此link)。【参考方案14】:

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

当我看时:

Internet 选项 => 内容 => 证书

它不存在!

自从我们的管理员在 2009 年 12 月 10 日安装在我的机器上的最后一批 Patch-Tuesday 更新后,IE 中的这种行为就开始了。在此之前,它很高兴接受证书为有效。

【讨论】:

【参考方案15】:

我在使用 Web 服务时遇到了同样的问题。 Here Microsoft 有一个(长)演练向您展示如何在客户端上安装东西,基本上说您的自签名证书是可以的。最后,我只花了 30 美元,从 Godaddy.com 购买了完整的证书。

附:我知道您可以围绕错误消息编写代码,但出于测试原因我们不想这样做。

【讨论】:

【参考方案16】:

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

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

【讨论】:

【参考方案17】:

您需要确保自签名证书对您正在设置的域使用正确的common name。如果您要为多个域使用相同的证书,您需要为每个域拥有一个唯一的证书,或者如果您的所有 ssl 站点都是公共域的子域,那么您可以生成带有通配符域的证书,如 @ 987654323@。

如果您没有在自签名证书中正确设置common name,那么 Chrome 和 Firefox 可能会工作,但 IE 可能在您每次加载网站时都无法找到证书。在 IE 中,它看起来就像您添加了网站的证书,但实际上在页面加载时它永远不会被发现。

how to set up SSL for Apache for a Mac so I can test Cross Domain iFrame on IE8

【讨论】:

【参考方案18】:

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

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

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

【讨论】:

【参考方案19】:

我尝试了所有提到的解决方案,但都没有奏效。使用 Internet Explorer 11 (11.0.9600.17914),无法接受无效证书,因为错误看起来与 404 完全相同。

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

最后一步是只有在您知道自己在做什么的情况下才应该做的事情。我们需要在工作中使用一个非常奇怪的设置,因此我们找不到其他访问系统的方法。通常,不应该像那样降级安全性。

【讨论】:

【参考方案20】:

如果你正在做一些本地测试,并且你在主机文件中添加了一些别名,那么说

127.0.0.1 www.mysite.com

并尝试使用上述任何程序都会失败。原因是您将为 localhost 导入证书。证书 URL 不匹配。

在这种情况下,您必须生成自签名证书,然后按照上述说明导入。

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

【讨论】:

【参考方案21】:

您可以使用 CertMgr 将证书添加为受信任的发布者,或者如果它是自签名的,则添加为根证书

CertMgr.exe /add CertificateFileName.cer /s /r localMachine root

在此处查看 Microsoft 的文档:

https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-certmgr-to-install-test-certificates-on-a-test-computer

【讨论】:

以上是关于我需要做啥才能让 Internet Explorer 8 接受自签名证书?的主要内容,如果未能解决你的问题,请参考以下文章

除了更改环境变量“PATH”之外,您还需要做啥才能让 Eclipse 识别 MinGW?

我需要做啥才能打开带有特殊字符的 URL

我还需要做啥才能插入 jQuery UI?

音频单元主机需要做啥才能使用非 Apple 音频单元?

用 Python 可以来做啥?

W7系统更新到IE11后,每次关闭网页后都弹出“Internet Explore停止工作”(如图)求解决方法?