You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下如何通过CLI自动化给Chrome及WebDriver添加CA证书?

自动化将自定义CA证书添加到Chrome(Ubuntu环境)

方法一:导入到Chrome用户证书存储(永久生效)

Chrome在Linux下使用NSS数据库管理证书,存储路径为~/.pki/nssdb/,可通过certutil工具完成自动化导入。

步骤1:安装必要工具

首先安装NSS工具包:

sudo apt-get update && sudo apt-get install -y libnss3-tools

步骤2:编写自动化脚本

创建bash脚本(比如import-chrome-ca.sh),内容如下:

#!/bin/bash

# 配置参数:替换为你的CA证书路径和自定义名称
CA_CERT="/path/to/your/ca-certificate.crt"
CA_NAME="自定义代理CA"

# 检查证书文件是否存在
if [ ! -f "$CA_CERT" ]; then
    echo "错误:CA证书文件不存在,请检查路径!"
    exit 1
fi

# 导入证书到Chrome的NSS数据库
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "$CA_NAME" -i "$CA_CERT"

# 验证导入结果
if certutil -d sql:$HOME/.pki/nssdb -L | grep -q "$CA_NAME"; then
    echo "CA证书已成功导入Chrome!"
else
    echo "证书导入失败,请检查命令或证书格式!"
    exit 1
fi

步骤3:执行脚本

给脚本添加执行权限并运行:

chmod +x import-chrome-ca.sh
./import-chrome-ca.sh

参数说明

  • -d sql:$HOME/.pki/nssdb:指定Chrome使用的NSS数据库路径(SQL格式)
  • -A:执行添加证书操作
  • -t "C,,":设置证书信任属性,C表示标记为可信CA,后续两个逗号表示不修改邮件和对象签名的信任设置
  • -n "$CA_NAME":给证书设置自定义名称,方便识别
  • -i "$CA_CERT":指定要导入的CA证书文件路径

方法二:ChromeDriver启动时指定CA证书(临时生效,不修改用户存储)

如果不需要永久修改用户的Chrome证书配置,可在启动ChromeDriver时通过参数指定CA证书,适合自动化测试场景。

示例代码(Python)

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 指定自定义CA证书路径
chrome_options.add_argument('--ssl-root-ca-file=/path/to/your/ca-certificate.crt')

# 启动ChromeDriver
driver = webdriver.Chrome(options=chrome_options)

# 后续测试逻辑...
driver.get("https://your-proxied-site.com")

说明

  • --ssl-root-ca-file参数会让Chrome在启动时加载指定的CA证书,仅对当前会话生效,不会修改用户的永久证书存储
  • 此方法无需安装额外工具,适合临时或隔离的测试环境

验证证书是否生效

  1. 手动打开Chrome,访问需要通过代理的HTTPS站点,确认没有SSL证书错误
  2. 或者用ChromeDriver访问目标站点,检查页面是否正常加载无证书警告

内容的提问来源于stack exchange,提问作者Markus Knappen Johansson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 06:35:28