Основываясь на dwmw2 answer , вы можете сказать приложениям, которые используют NSS для управления сертификатами, использовать системное хранилище доверия.
libnss3
по умолчанию поставляется с набором сертификатов корневого ЦС только для чтения (libnssckbi.so
), поэтому большую часть времени вам нужно вручную добавлять их самостоятельно в локальное хранилище доверия пользователей, расположенное в $HOME/.pki/nssdb
. p11-kit
предлагает замену libnssckbi.so
, которая действует как адаптер к общесистемным корневым сертификатам, установленным в /etc/ssl/certs
.
Правка:
Похоже, что существует больше версий libnssckbi.so
, чем только в libnss3
. Ниже приведен скрипт, чтобы найти их все, создать их резервную копию и заменить ссылками на p11-kit
:
sudo apt-get update && sudo apt-get install -y p11-kit libnss3
find / -type f -name "libnssckbi.so" 2>/dev/null | while read line; do
sudo mv $line ${line}.bak
sudo ln -s /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so $line
done
Оригинальные инструкции:
Для этого установите p11-kit
и libnss3
(если они еще не установлены):
sudo apt-get update && sudo apt-get install -y p11-kit libnss3
Затем создайте резервную копию существующей libnssckbi.so
, предоставленной libnss3
:
sudo mv /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so.bak
Наконец, создайте символическую ссылку:
sudo ln -s /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so
Для подтверждения того, что она работает, можно запустить ll /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so
, и на ней должна появиться ссылка:
Теперь, если вы добавите сертификат в хранилище CA с помощью update-ca-certificates
, эти сертификаты теперь будут доступны для приложений, использующих NSS (libnss3
), таких как Chrome.