Hmmm, не знайте, работало ли это, но могло бы стоить попытки. Создайте другой класс с тем же расположением как объект с членами парламента, не занимающими официального поста, но с частным, измененным на общественность. Создайте переменную указателя на этот класс. Используйте простой бросок, чтобы указать на это на Ваш объект с членами парламента, не занимающими официального поста и попытаться вызвать закрытую функцию.
Ожидают искры и возможно катастрофический отказ;)
Самый простой способ - импортировать сертификат в образец профиля firefox, а затем скопировать cert8.db пользователям, которых вы хотите оснастить этим сертификатом.
Сначала импортируйте сертификат сертификат вручную в профиль Firefox пользователя-образца. Затем скопируйте
/ home / $ {USER} /. Mozilla / firefox / $ {randomalphanum} .default / cert8. db
(Linux / Unix)
% userprofile% \ Application Data \ Mozilla \ Firefox \ Profiles \% randomalphanum% .default \ cert8.db
(Windows)
в профили firefox пользователей. Вот и все. Если вы хотите убедиться, что новые пользователи получат сертификат автоматически, скопируйте cert8.db
в:
/etc/firefox-3.0/profile
(Linux / Unix)
% programfiles% \ firefox-installation-folder \ defaults \ profile
(Windows)
Вот альтернативный способ, который не отменяет существующие сертификаты: [фрагмент bash для linux систем]
certificateFile="MyCa.cert.pem"
certificateName="MyCA Name"
for certDB in $(find ~/.mozilla* ~/.thunderbird -name "cert8.db")
do
certDir=$(dirname ${certDB});
#log "mozilla certificate" "install '${certificateName}' in ${certDir}"
certutil -A -n "${certificateName}" -t "TCu,Cuw,Tuw" -i ${certificateFile} -d ${certDir}
done
Вы можете найти certutil в пакете libnss3-tools (debian/ubuntu).
См. также:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil