Добавьте сертификат в certdata.txt и соберите с ним firefox.

Я должен добавить некоторые сертификаты в firefox перед его сборкой. Затем протестируйте его с этими сертификатами. Я знаю, что сертификаты жестко закодированы в certdata.txt в этом месте:

mozilla-source\mozilla-central\security\nss\lib\ckfw\builtins

Я пытался добавить сертификаты в certdata.txt, используя addbuilit из nss-tools. Но после сборки получаю ошибки.

Компилятор показывает эти ошибки при чтении certdata.txt:

0:49.23 c:/mozilla-source/mozilla-central/obj-x86_64-pc-mingw32/security/nss/lib/ckfw/builtins/builtins_nssckbi/certdata.c(20983,1): предупреждение: отсутствует завершающий символ '"' символ [-Winvalid-pp-token] 0:49.23 "\152\270\202\165\004\122\100\146\207\136\301\151\270\325\275\134


person Alikhan247    schedule 24.07.2019    source источник


Ответы (1)


На самом деле это довольно легко сделать.

Во-первых, вам нужны nss и nspr, потому что nss, встроенный в установщик Mozilla, не имеет нужной нам функции addbuiltin.

Загрузите NSS для Windows

Загрузите Nspr для Windows

Второй шаг

распаковать оба этих файла.

Затем скопируйте содержимое папки NSPR/lib в папку NSS/bin.

Скопируйте свой сертификат и файл certutil.txt в папку NSS /bin. Примечание. Ваш сертификат должен быть в формате .der!

Третий шаг

Запустите этот код ниже:

addbuiltin -n "My certificate name" -t "CT,C,C" < CAcert.der >> certdata.txt

My certificate name - Имя сертификата, который будет добавлен в certutil.txt.

CT,C,C — доверенные свойства сертификата.

CAcert.der - Сам сертификат.

certdata.txt - Сертификаты, содержащие файл.

Но прежде чем копировать certutil.txt обратно в исходный код, вам нужно сделать еще одну вещь. Откройте certutil.txt в Notepad++ и включите скрытые символы с помощью Menu View → Show Symbol → Show All Characters. Затем измените /r/n на /n.

И вы сделали!

person Alikhan247    schedule 02.08.2019