Профиль Firefox для посещения Сбербанка и Рунета в целом
Порой кажется, что то, что знаешь ты, знают все. Но это не совсем так. В частности по этой теме. И хоть ситуация развивается уже продолжительное время, вопросы порой остаются. И проще дать ссылку на статью, чем объяснять разным людям разной степени подготовленности.
Как известно, некоторые российские госкомпании сейчас под санкциями, в том числе эмитентами сертификатов. Сбер уже перешёл на сертификаты от Минцифры. Ростелеком, вероятно, к ноябрю 2024 года тоже перейдёт. А CA Минцифры соответственно рукопожат только браузерами Яндекс Браузер и Atom.
У этой проблемы есть несколько решений.
Использовать Яндекс Браузер или Atom с уже установленными сертификатами Минцифры и горя не знать.
Сохранить корневой сертификат Минцифры в доверенные для всей операционной системы (и всех браузеров), если вам совсем нечего скрывать.
Использовать браузер Firefox с выделенным пользовательским профилем под Рунет.
Использовать виртуальное окружение для любимого браузера с нелюбимым сертификатом Минцифры. (не могу найти ту публикацию).
Статья собственно о третьем методе.
Первый и третий способы похожи, но не равны. CA Минцифры будет доверенным для всех профилей Яндекс Браузера. Если вы считаете это неприемлемым или не доверяете самому Яндекс Браузеру, то прежде чем продолжить, напишите, пожалуйста, свои фамилию, имя, отчество, адрес проживания фактический и по месту регистрации. С вами позже свяжутся. К сожалению, в Chrome используются хранилище сертификатов операционной системы. Соответственно в Chromium браузерах (Opera, Vivaldi, Edge) тоже. Но не таков Firefox. У него собственный движок и собственное хранилище сертификатов, основанное на Mozilla Network Security Services (NSS).
Создание профиля
Чтобы создать новый профиль в Firefox, нужно открыть в адресной строке страницу about: profiles и нажать кнопку «Создать новый профиль». Поскольку название и путь к нему в дальнейшем понадобятся, рекомендую задать их вручную. Иначе Firefox сгенерирует автоматически. Например, Sber как название и как папка. Для создания новой папки в открывшемся окне Проводника нужно кликнуть правой кнопкой мыши в любом месте и выбрать пункт меню «Создать».
Сразу же создайте ярлык для нового профиля, скопировав из основного ярлыка. Если с рабочего стола ярлык был удалён, то в кнопке Пуск есть его копия. Понимаю, как усмехаются любители portable сборки, но это надо прописать, уж поверьте. В свойствах ярлыка добавьте -P Sber
. То есть в поле Объект должно быть
"C:\Program Files\Mozilla Firefox\firefox.exe" -P Sber
Установка сертификата
Запустите Firefox с нового ярлыка и откройте страницу https://www.sberbank.ru. Сам браузер не даёт перейти на недоверенный сайт. Поэтому в окне ошибки нужно нажать на «Просмотреть сертификат» и найти там «Загрузить PEM (цепочка сертификатов)». Далее открыть настройки Firefox и в разделе Приватность и защита (about:preferences#privacy
) нажать кнопку «Просмотр сертификатов», где и импортировать находящийся в папке Загрузки файл sberbank-ru-chain.pem. В Chrome и браузерах, основанных на нём, скачать сертификат можно из восклицательного значка предупреждения в адресной строке.
Установка сертификата из командной строки
Для управления хранилищем сертификатов Firefox потребуется программа certutil, только не та, что встроена в Windows, а из пакета Mozilla NSS. К сожалению, с версии 3.12.5 разработчики перестали выкладывать исполняемые файлы. Но версия 3.12.4 вполне справляется с новым форматом хранилища Firefox (cert9.db/key4.db).
https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_12_4_RTM/msvc9/WINNT5.1_OPT.OBJ/
Дополнительно потребуются библиотеки DLL, которые тоже перестали собирать с версии 4.6.5
https://ftp.mozilla.org/pub/nspr/releases/v4.6.4/msvc6.0/WINNT5.0_OPT.OBJ/
Путь чуть проще — скачать certutil в составе пакета mar-tools браузера Tor. Возможно, там и версия более новая.
https://dist.torproject.org/torbrowser/13.5a7/
Кстати, сам браузер Tor основан на Firefox и у него тоже есть профили со своими хранилищами.
Надеюсь, сертификат уже скачан браузером и просто находится в папке Загрузки. Если нет и всё сложно или используется какая-то автоматизация для множества профилей, то странно, что вы дочитали до сюда. У вас наверняка уже давно всё настроено. В любом случае потребуется OpenSSL. Этот микроскоп нужен как для самостоятельного скачивания требуемого гвоздя
openssl s_client -showcerts -connect www.sberbank.ru:443 NUL | openssl x509 -outform PEM > %HOMEPATH%\Downloads\sberbank-ru.pem
Так и для преобразования корневого DER сертификата Минцифры, скачанного с помощью curl, в PEM формат.
curl http://reestr-pki.ru/cdp/rootca_ssl_rsa2022.crt -o rootca_ssl_rsa2022.der
openssl x509 -inform der -in rootca_ssl_rsa2022.der -out rootca_ssl_rsa2022.pem
Если кто-то знает публичную ссылку на PEM версию, прошу сообщить. Тогда можно будет обойтись без OpenSSL.
Заметьте, что openssl скачал не цепочку, а только конечный сертификат. Для каких-то целей это удобней, для каких-то наоборот.
Certutil загружен, обложен DLL модулями, файл сертификата находится в папке Загрузки под именем sberbank-ru.pem, профиль Firefox в порядке. Значит можно:
certutil.exe -A -t TCu,, -n Sber -i %HOMEPATH%\Downloads\sberbank-ru.pem -d %APPDATA%\Mozilla\Firefox\Profiles\Sber
Срабатывает как добавление в хранилище корневого сертификата Минцифры, так и одиночного сертификата конечного сайта. Но в последнем случае нужно быть внимательней с субдоменами.