如何停止镶边选择证书窗口

问题描述 投票:1回答:2

我正在研究selenium项目,我需要测试的系统是使用SSL证书。每次尝试登录时,我们都会收到“选择证书”窗口。我们无法用webdriver处理。

我尝试使用AutoItx单击ok按钮,如下所示。但Send("{ENTER}")不是继续的最佳选择。

if (AutoItX.WinWaitActive("data:, - Google Chrome", "", 10) == 0)
{
   AutoItX.WinActivate("data:, - Google Chrome");
   AutoItX.Send("{ENTER}");
}

有没有办法使用,并使用autoItx单击确定按钮。或者是否有一种方法可以在使用Capabilities定义chromedriver时加载此证书。

感谢任何想法来解决这个问题。

google-chrome ssl selenium-webdriver automation autoit
2个回答
5
投票

这有助于Chrome版本59.0.3071.86(64位),Win 7 Enterprise:

创建注册表项: HKEY_LOCAL_MACHINE \ SOFTWARE \策略\谷歌\镀铬\ AutoSelectCertificateForUrls

这里创建名为1的新String值(REG_SZ)

作为价值数据输入: { “图案”: “[*。]”, “过滤器”:{}}

This is how the registry then looks like.

有关此密钥的更多信息,我发现:

该值必须是字符串化JSON字典的数组。每个字典必须具有{“pattern”形式:“$ URL_PATTERN”,“filter”:$ FILTER},其中$ URL_PATTERN是内容设置模式。 $ FILTER限制浏览器将自动选择的客户端证书。独立于过滤器,仅选择与服务器的证书请求匹配的证书。如果$ FILTER的格式为{“ISSUER”:{“CN”:“$ ISSUER_CN”}},则仅选择由具有CommonName $ ISSUER_CN的证书颁发的客户端证书。如果$ FILTER是空字典{},则不会另外限制客户端证书的选择。

Automatically select client certificates for these sites


0
投票

如果您有多个证书,并且您要选择的证书不是第一个证书,那么您将需要应用过滤器。

http://www.chromium.org/administrators/policy-list-3#AutoSelectCertificateForUrls对过滤器值有深入的描述,但您可能对它们中的大多数不感兴趣并且可以使用:

{"pattern":"[*.]","filter":{"ISSUER":{"CN":"[Issued By]"}}}

将[颁发者]替换为您的客户证书的颁发者。我不能为我的生活设法让URL模式使用比[*。]更具体的东西,它匹配任何URL。

© www.soinside.com 2019 - 2024. All rights reserved.