3

我一直在网上搜索如何使用嵌入式服务器 + ssl 解决我的 grails 功能测试问题,并且非常感谢我遇到的问题的任何帮助。

到目前为止,我们使用 Selenium WebDriver 2 在 Firefox 上测试我们的 Grails webapp 取得了很好的成功。我们使用功能测试插件从我们的 Jenkins 服务器(有时是我们的本地机器)自动运行功能测试,以启动和停止我们的应用程序,以及 webdriver插件结合。

这一行:profile.acceptUntrustedCertificates = true 用于新的 Firefox 实例的配置文件,这对我们在使用 Firefox 进行测试期间使所有 SSL 完全有效就浏览器而言是有效的。

因此,尽管该设置在 Firefox 上运行良好,但我们仍然需要为 IE 8 运行一组并行测试,但我根本无法为 webdriver 找到一种方法来处理 IE 8 的 SSL 警告/障碍。

因为我们在这里纯粹是 Mac (dev)/Linux (jenkins 等),所以我们在 Win 7 VirtualBox VM 中运行 IE 8。然后,我们从 Win 7 VM 实例运行独立的 WebDriver 服务器。它工作正常,直到测试到达我们 web 应用程序的 SSL 部分,此时我得到 IE SSL 警告页面,测试出轨了。

出于这个原因,我们购买了一个便宜的 Godaddy SSL 证书来使用,希望让 IE 满意,但我还没有找到一种方法让我们的证书显示为有效且 CA 签名的证书,而不仅仅是自签名证书。例如,当我在 Chrome 中检查证书时,它确实显示了我的证书,而且它是自签名的。它的 CN 与 testbox.example.com 类似,我在 /etc/hosts 中添加了以下行:127.0.0.1 testbox.example.com。

我使用 java keytool 生成了 CSR,然后按照 godaddy 网站上的说明导入了生成的签名证书、中间证书、交叉证书等。我在某处看到 grails 要求它的密钥库保留密码 123456,我已经这样做了。

我已经为常规服务器成功完成了 SSL 配置,例如独立 glassfish 和 tomcat,但我在这个问题上真的碰壁了。

谢谢!杰米

4

3 回答 3

0

对于测试,只需将您的证书安装到 IE 8 中。

请参阅我需要做什么才能让 Internet Explorer 8 接受自签名证书?

于 2011-06-06T20:31:19.863 回答
0

我知道这不是一个非常干净的解决方案,但是 IE8 会显示证书有问题的警告。此警告本身是一个有效的 HTML 页面,您可以单击“忽略此内容,显示页面”之类的链接。

您只需在会话中执行一次。所以我们简单地在我们的测试中有一个小步骤,它会在调用第一页后检查我们是否收到错误消息。如果是,我们会自动单击链接,其余的工作正常。

再说一遍:我知道这不是一个干净的解决方案。但它对我们有用。并且必须以正确的方式配置 java 密钥库可能会很痛苦。:-)

于 2011-07-12T20:13:21.833 回答
0

另一种方法:

您提到 IE 设置的更改不起作用,因为 WebDriver 创建了一个新的 IE 实例。

IE 在 Windows 注册表中存储了很多设置。因此,“IE 注册表证书”可能是搜索您的问题的良好开端。这是一个有希望的结果:

http://www.ehow.com/how_5024374_fix-certificate-error-internet-explorer.html

由于您在虚拟机中运行 IE,我想禁用此 vm 上的 IE 安全功能是可以的。否则我不得不承认默认禁用这样的安全功能不是一个好主意。

于 2011-07-12T21:15:47.197 回答