Я пытаюсь предоставить Vagrant box с корневым CA и установить его в Firefox. Я понял, что могу установить сертификат с помощью certutil
но проблема в том, что для его добавления требуется существующий профиль Firefox.
На новой новой коробке профиль создается при первом запуске Firefox. Это проблематично, потому что Firefox не будет работать должным образом без дисплея, но это можно обойти, используя опцию -headless
. Но тогда это нужно убить вручную. Так как для создания нового профиля требуется немного времени, он требует взлома с помощью sleep
. В целом у меня есть следующее:
#!/bin/bash
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
firefox \
libnss3-tools
# create a new profile
firefox -headless &
sleep 2
kill $!
# install the root CA into all profiles
cert="${HOME}/mycert.cer"
for certDb in $(find ${HOME}/.mozilla* -name "cert8.db"); do
certDir="$(dirname ${certDb})"
echo ${certDir}
certutil -A -n "mycert" -t "TCu,Cuw,Tuw" -i "${cert}" -d "${certDir}"
done
Есть ли лучший способ сделать это без использования sleep
и kill
?