Я использую разные профили с --user-data-dir= в Chromium под Linux. В одном из профилей я хочу доверять дополнительному корневому центру сертификации (CA), которому не следует доверять другим профилям. Согласно документации, Chromium использует $HOME/.pki/nssdb для импортированных сертификатов. Есть ли способ, которым я могу использовать другое местоположение для этого хранилища доверия?

1 ответ1

2

Кажется, невозможно изменить это местоположение.

Однако вы можете установить $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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .