当前位置: 首页 > 知识库问答 >
问题:

使用browsermob代理的Chrome浏览器证书不受信任问题

阳兴朝
2023-03-14

有没有办法让chrome忽略由于使用browsermob代理而导致的无效证书

我在用谷歌。例如,在实际情况中,我需要提供凭据和登录,而无效的证书阻止我继续。

请注意,在这里,代理是完美的工作和我使用所有参数后,忽略证书问题https://i.stack.imgur.com/dG4Vl.png

    import java.io.File;
    import org.openqa.selenium.Proxy;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    import org.openqa.selenium.remote.CapabilityType;
    import org.testng.annotations.Test;
    import net.lightbody.bmp.BrowserMobProxy;
    import net.lightbody.bmp.BrowserMobProxyServer;
    import net.lightbody.bmp.client.ClientUtil;
    import net.lightbody.bmp.core.har.Har;

    public class Proxytest4 {
    WebDriver driver = null;
    BrowserMobProxy proxy = null;

    @Test
    public void actionLaunchRegistrationPage() throws Exception {

        System.setProperty("webdriver.chrome.driver", "/Users/path/chromedriver");
        System.setProperty("webdriver.chrome.logfile", "/Users/path/hromedriver_issue.log");

        proxy = new BrowserMobProxyServer();
        proxy.setTrustAllServers(true);
        proxy.start(0);

        Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);

        ChromeOptions options = new ChromeOptions();

        options.addArguments("--proxy-server=" + seleniumProxy.getHttpProxy());
        options.addArguments("--no-sandbox");
        options.addArguments("--start-maximized");
        options.addArguments("--disable-extensions");
        options.addArguments("disable-gpu");
        options.addArguments("window-size=1920,1080");

        // options.setAcceptInsecureCerts(true);
        options.addArguments("--allow-insecure-localhost");
        options.addArguments("--ignore-certificate-errors");
        options.addArguments("--allow-running-insecure-content");

        // DesiredCapabilities cap = DesiredCapabilities.chrome();
        // cap.acceptInsecureCerts();
        // cap.setCapability (CapabilityType.ACCEPT_SSL_CERTS, true);
        // cap.setCapability (CapabilityType.ACCEPT_INSECURE_CERTS, true);

        // cap.setCapability(ChromeOptions.CAPABILITY, options);

        // options.setAcceptInsecureCerts(true);

        // options.merge(cap);

        options.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);

        // driver = new RemoteWebDriver(new URL("http://127.0.0.1:9515"), cap);

        driver = new ChromeDriver(options);

        // create a new HAR with the label "yahoo.com"
        proxy.newHar("https://www.google.com/");

        driver.get("https://www.google.com/");

        // get the HAR data
        Har har = proxy.getHar();

        // Writing Har to file

        har.getLog().toString();
        har.writeTo(new File("/Users/path/HAR.txt"));
        // driver.quit();
        // browserStackLocal.stop();
        proxy.stop();
    }

    }

共有2个答案

太叔经赋
2023-03-14

我认为--禁用web安全性是您想要的选项。

宋臻
2023-03-14

修复程序如下所示:

从下面的代理浏览器链接下载SER1证书:https://github.com/lightbody/browsermob-proxy/blob/master/browsermob-core/src/main/resources/sslSupport/ca-certificate-rsa.cer

2-在OS X中打开钥匙链访问实用程序。

  • 选择左侧的系统选项。单击左上角的锁定图标以启用更改

在此处输入图像描述

  • 在左下角,选择证书选项

在此处输入图像描述

  • 将复制到桌面的证书拖到证书列表中。localhost添加到System keychain后,双击它以再次打开它。展开信任部分,对于第一个选项,选择始终信任。

在此处输入图像描述

 类似资料:
  • 我使用Charles代理(在OS X 10.9.3下,Mavericks)修改Origin标头,以便我连接的API(在开发中)接受来自开发环境的传入请求。 我设法用一个简单的重写规则来完成这项工作,直到今天一切都正常。 当前的问题是浏览器没有连接到代理(由Charles设置)。请求中的“Failure”(失败)字段表示:“未发出任何请求。SSL证书可能已被拒绝。”,下面,在Notes字段中:“您可

  • 我想在所有浏览器上自动化Web应用程序。我的代码运行正常,铬,火狐,但当我尝试它在边缘,它显示ssl证书错误。 if((browser.equalsIgnoreCase(“边缘”)){ //DesiredCapabilities=新DesiredCapabilities();//能力。setCapability(CapabilityType.PROXY,PROXY);

  • 我刚刚在Google Cloud上的VM上设置了我的Neo4j服务器,我使用的是企业版4.1.1,并且我已经完成了David Allen关于如何使用LetsEncrypt获得证书的精彩帖子(在这里)。 这一切都工作得很好,我现在有了一个完全安全的Neo4j服务器,我可以通过浏览器()使用我的主机名访问它。但是,我现在在让我的应用程序使用javascript驱动程序连接到服务器时遇到了问题。 我不断

  • 我正在使用OpenSSL以避免为此付费。我的服务器正在运行IIS 8和Windows server 2012。 我创建证书的方式是: openssl请求-new-key cakey.pem-x509-days 1825-extensions v3_ca-out ca.crt 最后,我使用以下内容签署了证书请求: openssl x509-req-days 365-in certreq.txt-ca

  • 本文向大家介绍如何处理Selenium中的Chrome浏览器中的SSL证书问题?,包括了如何处理Selenium中的Chrome浏览器中的SSL证书问题?的使用技巧和注意事项,需要的朋友参考一下 由于以下原因,我们可能会遇到SSL证书问题- 开发网站时,其SSL证书不正确。 该站点可能具有自签名证书。 无法在服务器级别正确配置SSL。 示例

  • 问题内容: 我在Wildfly 9中配置有效的证书(非自签名!)时遇到了麻烦。我在Wildfly中配置了HTTPS连接器: 安全领域: 并使用以下命令生成密钥库: 现在,当我在浏览器中打开应用程序时,一切正常。浏览器将证书识别为有效证书,而不会提示出现自签名证书中的异常。 但是,当我尝试通过SSLPoke.java连接到相同的URL时,出现以下异常: 如果我在客户端中导入证书,此错误就会消失,但是