Chrome Ubuntu上的WebDriver、Chome从CLI添加证书颁发机构

6yoyoihd  于 2023-11-14  发布在  Go
关注(0)|答案(1)|浏览(140)

我正在开发一个在Ubuntu上使用Chrome和ChromeDriver(WebDriver)的应用程序。
我的应用程序使用代理来从浏览器传输流量,为了支持SSL,代理使用具有自己的证书颁发机构的自签名证书。
我知道我可以将CA添加到Ubuntu本身(/usr/local/share/ca-certificates/ + sudo update-ca-certificates),这使得例如curl与我的自定义证书一起工作。
我也可以打开Chrome,转到Settings -> Privacy and security -> Security -> Manage certificates,然后在这里添加我的自定义CA证书。
但我想自动化,这样我就可以创建一个脚本,将我的CA证书添加到Chrome。
我该怎么做?

gorkyyrv

gorkyyrv1#

我继续我的研究,结果发现托马斯莱斯特有同样的问题,并发现Chrome(以及Firefox)使用自己的CA商店。
他甚至提供了一个脚本来以简单的方式安装证书:
首先确保安装了libnss 3-tools

sudo apt install libnss3-tools

字符串
然后使用这个脚本:

#!/bin/bash

### Script installs root.cert.pem to certificate trust store of applications using NSS
### (e.g. Firefox, Thunderbird, Chromium)
### Mozilla uses cert8, Chromium and Chrome use cert9

###
### Requirement: apt install libnss3-tools
###

###
### CA file to install (CUSTOMIZE!)
###

certfile="root.cert.pem"
certname="My Root CA"

###
### For cert8 (legacy - DBM)
###

for certDB in $(find ~/ -name "cert8.db")
do
    certdir=$(dirname ${certDB});
    certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d dbm:${certdir}
done

###
### For cert9 (SQL)
###

for certDB in $(find ~/ -name "cert9.db")
do
    certdir=$(dirname ${certDB});
    certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d sql:${certdir}
done


https://thomas-leister.de/en/how-to-import-ca-root-certificate/

相关问题