java p12证书验证_authentication - 使用.p12证书验证Selenium WebDriver(Java) - SO中文参考 - www.soinside.com...

我找到了部分解决方案。在其他情况下,它可能是我所需要的全部,但是,由于我将在最后描述的原因,这里是不够的。

这个问题有两个方面。首先,我需要设置Selenium来接受服务器的证书。其次,我需要让Selenium将.p12证书提供给服务器。

要接受服务器的证书,我做了类似以下的事情:

DesiredCapabilities capabilities = DesiredCapabilities.firefox();

capabilities.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);

. . .

FirefoxOptions firefoxOptions = new FirefoxOptions();

. . .

firefoxOptions.addCapabilities(capabilities);

. . .

driver = new FirefoxDriver(firefoxOptions);

. . .

driver.get(nbisURL);

本质上,我创建了一个配置文件(“eAgency-Client1”),如本文所述,它导致了一个开放的Firefox浏览器。在该浏览器中,我按照我在原始帖子中描述的方式设置证书。然后我设置selenium来使用该配置文件:

ProfilesIni profile = new ProfilesIni();

FirefoxProfile ffProfile = profile.getProfile("eAgency-Client1");

ffProfile.setPreference("security.default_personal_cert", "Select Automatically");

. . .

FirefoxOptions firefoxOptions = new FirefoxOptions();

. . .

firefoxOptions.setProfile(ffProfile);

. . .

driver = new FirefoxDriver(firefoxOptions);

因此,隔离上述两个片段会产生我的解决方案。

我现在遇到的问题是我似乎无法在其他机器上使用该配置文件,因此这个Selenium测试套件不可移植。

我在Jenkins运行测试套件。 Jenkins运行在没有GUI的CentOS服务器上。我将“eAgency-Client1”配置文件从我的本地Windows机器复制到CentOS服务器中的正确位置,并相应地修改了CentOS上的profiles.ini文件。

(我松散地遵循这里给出的建议http://forum.notebookreview.com/threads/migrate-firefox-profile-from-windows-to-linux.444601/。但是,我需要将配置文件添加到Jenkins firefox实例,方法是将其复制到/var/lib/jenkins/.mozilla/firefox。我也没有复制整个Mozilla目录。配置文件,之后我修改了profiles.ini文件。)

我知道配置文件已成功复制,因为。 。 。

FirefoxProfile ffProfile = profile.getProfile("eAgency-Client1");

。 。 。不返回null。当我访问该网站时出现问题。当我访问该站点并获取页面源时,我可以看到标准错误,表明我没有发送证书:

400 No required SSL certificate was sent

400 Bad Request

No required SSL certificate was sent

nginx/1.10.2

我在本地机器上没有这个来源。我的本地机器到达了它需要去的地方没有问题。在本地,我没有收到“400 Bad Request”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值