Я использую разные профили с --user-data-dir=
в Chromium под Linux. В одном из профилей я хочу доверять дополнительному корневому центру сертификации (CA), которому не следует доверять другим профилям. Согласно документации, Chromium использует $HOME/.pki/nssdb
для импортированных сертификатов. Есть ли способ, которым я могу использовать другое местоположение для этого хранилища доверия?
1 ответ
Кажется, невозможно изменить это местоположение.
Однако вы можете установить $HOME
на новое место, создать новую базу данных и добавить туда свой сертификат перед запуском Chromium. Например, $HOME
может быть установлен в то же место, что и --user-data-dir=
Стоит отметить, что этот подход запускает Chromium из вашего исходного домашнего каталога и делает некоторые конфиги недоступными для Chromium. По крайней мере, я заметил, что он не будет использовать вашу тему рабочего стола и загрузки будут идти в только что созданный домашний каталог.
Чтобы проиллюстрировать это, мы можем взять отсюда скрипт, который запускает Chromium во временном каталоге и изменить его так, чтобы он импортировал сертификат Burp CA перед запуском Chromium:
#!/bin/bash
BASE_TEMP_DIR=/tmp
CA_CERT=/opt/burp.der
TEMP_DIR=$(mktemp -d $BASE_TEMP_DIR/google-chome.XXXXXXX)
echo "Running Chrome with temp folder in: $TEMP_DIR"
export HOME=$TEMP_DIR
NSSDB=$HOME/.pki/nssdb/
mkdir -p $NSSDB
certutil -N -d sql:${NSSDB} --empty-password
certutil -d sql:${NSSDB} -A -t "C,," -n Burp -i $CA_CERT
google-chrome --user-data-dir=$TEMP_DIR --no-first-run --disable-reading-from-canvas --proxy-server="http://localhost:8080" "$@"
rm -rf $TEMP_DIR