如何停止Chrome的选择证书窗口?

w8rqjzmb  于 12个月前  发布在  Go
关注(0)|答案(2)|浏览(236)

我正在做一个Selenium项目,我需要测试的系统使用的是SSL证书。每次当我尝试登录时,我们都会看到这个“选择证书”窗口,这是我们无法用WebDriver处理的。


的数据
我试过使用AutoItx点击确定按钮,如下所示。但Send("{ENTER}")不是最好的选择。

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

字符串
有没有一种方法可以使用AutoItX点击OK按钮?或者有没有一种方法可以在使用Capabilities定义ChromeDriver时加载此证书?

eqqqjvef

eqqqjvef1#

Chrome版本59.0.3071.86(64位),Win 7企业版:

创建注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls

字符串
在这里创建一个新的字符串值(REG_SZ),名称为1
作为值数据输入:

{"pattern":"[*.]","filter":{}}


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

Chrome版本87.0.4280.141(64位),Win 10企业版:

创建注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls


在这里创建一个新的字符串值(REG_SZ),名称为1
作为值数据输入:

{"pattern":"[*.]mycompany.com","filter":{"ISSUER":{"CN":"MyCompanyCA"}}}


x1c 0d1x的数据
MyCompanyCA和子域名mycompany.com必须替换为相应的URL和发行公司。

fykwrbwg

fykwrbwg2#

如果您有多个证书,并且您要选择的证书不是第一个,则需要应用过滤器。
https://chromeenterprise.google/policies/#AutoSelectCertificateForUrls有关于过滤器值的深入描述,但您可能对其中的大多数不感兴趣,可以用途:

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

字符串
将**[Issued By]**替换为您的客户端证书的颁发者。我这辈子都无法让URL模式与比[*.]更具体的东西一起工作,它匹配任何URL。

相关问题