1с хранилище сертификатов linux не обнаружено
При возникновении ошибки "Сертификат не имеет связи с закрытым ключом" необходимо выполнить проверку сертификата электронной подписи.
Алгоритм проверки электронной подписи:
В программном продукте 1С необходимо
1. перейти в раздел "Администрирование"
2. "Обмен электронными документами"
3. "Настройка электронной подписи и шифрования"
4. На вкладке "Сертификаты" открыть используемый сертификат
5. Нажать на кнопку "Проверить"
6. Ввести пароль закрытой части ключа и нажать "Проверить"
! Обращаем Ваше внимание, что программа сама увеличит количество * в поле "Пароль:" до 16 при проверке. Данное поведение является штатным и выступает дополнительной защитой конфиденциальных данных в виде количества символов в пароле. Проверка будет осуществлена на основании введенных Вами данных .
Если в ходе проверки напротив пункта "Наличие сертификата в личном списке" возникнет сигнализирующий желтый символ, на него необходимо нажать для открытия технической информации.
Если в технической информации об ошибке указано " Сертификат не найден на компьютере.Проверка подписания, созданной подписи и расшифровки не могут быть выполнены." это обозначает, что сертификат не установлен на данном рабочем месте в личном списке. Проверить это можно перейдя в Панель управления - Свойства браузера
В открывшемся окне перейти на вкладку "Содержание" и нажать "Сертификаты"
В сертификатах перейти на вкладку "Личные".
Как видно на примере в личных действительно отсутствует сертификат электронной подписи.
Решение: Установить сертификат в личный список.
Корректная установка сертификата в личный список происходит из программы криптографии.
1. Для пользователей, использующих VIPNet CSP
Запустить VIPNet CSP - выбрать необходимый контейнер и нажать "Свойства"
В открывшемся окне свойств контейнера необходимо нажать "Открыть" для открытия сертификата электронной подписи.
В сертификате необходимо нажать "Установить сертификат"
В открывшемся мастере импорта сертификатов необходимо выбрать в расположении хранилища "Текущий пользователь" и нажать "Далее"
Затем выбрать "Поместить все сертификаты в следующее хранилище" и нажать "Обзор". В открывшемся окне выбрать хранилище "Личное" и нажать "ОК". Завершить установку сертификата.
2. Для пользователей, использующих КриптоПро CSP
Запустить КриптоПро CSP. Для этого необходимо перейти в Пуск - Панель управления - КриптоПро CSP
В открывшемся окне криптопровайдера перейти на вкладку "Сервис" и нажать "Просмотреть сертификат в контейнере. ".
Затем нажать "Обзор" и выбрать необходимый контейнер закрытого ключа.
В открывшемся окне необходимо выбрать необходимый контейнер закрытого ключа и нажать "ОК"
В следующем окне можно сверить данные о выбранного сертификата и нажать "Установить".
После чего появиться окно, свидетельствующее о том, что сертификат установлен в хранилище "Личные" текущего пользователя.
После установки сертификат появится в хранилище "Личные" в свойствах браузера.
После установки сертификата в хранилище "Личные" ошибка не воспроизводится.
Также вам может быть интересно:
Нет доступного сертификата для подписания документов.
Настройка веб-сервера Apache под Linux
1. Установка Apache под Linux
Установка веб-сервера и публикация информационной базы для операционной Linux будет продемонстрирована на базе Ubuntu 18.04 LTS. Все, что касается настроить информационной базы не зависит от конкретной версии дистрибутива Linux. Установка же веб-сервера может отличаться.
В данной статье не рассматривается установка и запуск Apache под всевозможные семейства операционных систем Linux. При использовании операционной системы отличной от указанной в статье следуют руководствоваться официальной документацией конкретного вашего дистрибутива.
Итак, предполагается, что есть только что установленная операционная система Ubuntu 18.04 LTS без графического интерфейса пользователя.
Перед тем как продолжить, нужно проверить доступные версии программного обеспечения дистрибутива. Выполняем команду:
В выводе результата команды можно увидеть, что доступны обновления. Рекомендуются их обновить с помощью команды (подсказка "Run ‘apt list –upgradable’"):
По завершению обновления пакетов приложений можно приступить к установке непосредственно веб-сервера.
После этого нужно выполнить команду:
Необходимо дождаться окончание выполнения команды и убедиться, что в момент установки никаких ошибок не возникло. В данном случае установка прошла без проблем.
Далее нужно проверить, что помимо самой установки, веб-сервер запустился и готов обрабатывать запросы (для данной команды использование sudo не обязательно):
В ответ можно увидеть, что состояние службы active (running). Это значит, что веб-сервер работает в штатном режим и можно переходить к публикации информационной базы с помощью командного интерпретатора bash, либо к генерации самоподписанного сертификата (если в этом есть необходимость).
2. Выпуск самоподписанного сертификата
После установки Apache в операционной системе уже должен быть установлен openssl как зависимость к дистрибутиву. Поэтому можно сразу приступить к генерации сертификата.
Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:
После чего требуется ввести команду генерации сертификата, где вместо <SERVER> нужно подставить имя компьютера, на котором планируется размещен Apache:
Во время выполнения команды будет задано несколько вопросов. Для "Common Name (e.g. server FQDN or Your bane)" нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме "Country name" - здесь можно оставить по умолчанию).
3. Публикация информационной базы
Так в данной статье идет настройка публикации информационных баз без использования графического интерфейса, то публикация информационной базы будет также производиться из командного интерпретатора.
Если до этого сервер "1С:Предприятие" был уже установлен на данном компьютере, то следующие 2 шага можно пропустить. Иначе в качестве подготовительной работы нужно скачать последний доступный дистрибутив платформы и распаковать его временную директорию с помощью команды:
После разархивирования нужно инициировать процедуру установки пакетов.
Как только все готово, необходимо перейти к публикации информационной базы. Для этого требуется перейти в директорию установленной платформы и выполнить команду:
В директории платформы следом нужно выполнить команду:
где нужно заменить:
ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации
ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие
После этого следует перейти в директорию публикаций:
С помощью любого удобного редактора нужно отредактировать файл 000-default.conf и добавить в самый конец файла следующий текст настройки:
После добавления нужно сохранить и закрыть файл и выполнить команду для включения модуля ssl для Apache:
И после этого нужно перезапустить Apache и убедиться, что ошибок не возникает.
4. Проверка публикации
Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:
Для приготовления отчетности нам понадобится:
- Конфигурация: 1С Бухгалтерия предприятия 3.0 Проф
- Технологическая платформа: 1С Бухгалтерия 8.3.11 или выше
- Криптопровайдер: КриптоПро 4.0.9929 или выше
- Операционная система: GNU\Linux (Mint, Ubuntu, Fedora, RHEL или SUSE), по вкусу
- Оператор документооборота: ООО «Такском» или ЗАО «Калуга-Астрал»
- Воля для войны с ИТС и технической поддержкой оператора документооборота
Часть первая: Готовим коржи сервер.
Итак, если у Вас ещё нет своего кластера 1С, то самое время его поднять. Если есть — можно приступать к следующему шагу. Я не буду детально разбирать базовые вещи, они и без меня хорошо освещены на портале ИТС и других технических ресурсах, посвященных 1С бухгалтерии. Вместо этого я акцентирую внимание на мелочах, на которые следует обратить внимание и о которых обычно забывают.
Определяемся с лицензиями
В 1С есть два типа лицензий — на сервер и на клиент. Лицензии на сервер позволяют работать в режиме клиент-сервера, а именно это нам и нужно для работы 1С-Отчетности в Linux. Лицензии на клиент позволяют запустить клиентское программное обеспечение (толстый, тонкий, веб) и регламентируют одно подключение к базе (программные) или много подключений с одного устройства (аппаратные).
Если у вас нет лицензии на сервер, то теоретически должен работать тонкий клиент при подключении к файловой базе через Apache — но данная конфигурация не проверялась.
Если у вас только одна информационная база — то выгоднее использовать программные клиентские лицензии. При количестве баз больше двух, например Торговля, Зарплата и Бухгалтерия — выгоднее аппаратная лицензия. Конечно, при условии, что все пользователи работают в нескольких базах одновременно.
Если у вас с каждой базой работает не более 5и человек одновременно, то можно с чистой совестью брать лицензию на Сервер-Мини на 5 подключений. Она и стоит не дорого, и держит 5+1 (клиент+конфигуратор) подключений (сеансов) до каждой информационной базы, для 32х и 64х битного варианта сервера.
Если у вас клиентская лицензия программная, и она одна (например в случае с электронной поставкой), то имейте в виду, что программная лицензия в клиент-серверном варианте расходуется на каждое подключение к базе. То есть запустить конфигуратор и клиент одновременно по сети уже не получится. Единственный выход, например, для отладки кода — подключаться к серверу через SSH+X11 Forwarding и запускать конфигуратор с клиентом уже "локально".
Ещё момент, и он очень важен: Аппаратная лицензия расходуется на каждого клиента (IP адрес) а программная — на подключение (сеанс) пользователя. Количество программных лицензий равно максимальному количеству подключений. Программная лицензия при этом привязана к оборудованию, и очень жестко, по этому общая рекомендация — выносить сервер лицензирования как отдельную виртуальную машину с 2ГБ (двумя Гибибайтами) оперативной памяти и виртуальным дисковым контроллером SATA или IDE, обязательно указав серийные номера дисков. Сам сервер лицензирования не требует серверной лицензии.
В качестве платформы виртуализации подойдет KVM (qemu), Citrix (Xen) или VMWare (V-Sphere, ESXi), использовать VirtualBox или Hyper-V не рекомендую.
Выбираем архитектуру
С лицензиями определились, теперь выделяем одну (аппаратные лицензии) или две (программные лицензии) виртуальные машины под кластер 1С. Характеристики машин примерно такие:
- Сервер лицензирования — 2ГБ памяти, и 15ГБ на жестком диске.
- Сервер 1С бухгалтерии — 14-16ГБ памяти, 15ГБ на жестком диске. Если сервер совмещает в себе функции СУБД — то ещё порядка 30-300ГБ на жестком диске.
- Сервер баз данных — в зависимости от типа сервера (PostgreSQL или Oracle, MS SQL 2017 пока не поддерживается) 4-16ГБ памяти, и 30-300 ГБ на жестком диске под хранение информационных баз. Опять же объём может быть и больше, зависит от того что и как вы храните.
PostgreSQL можно держать на той же машине что и саму 1С.
Обратите внимание, что виртуальные диски лучше держать на шине SATA или SCSI (виртуальная машина с поддержкой UEFI загрузки, например ovmf), и физически осуществлять хранение на lvm томе или iSCSI/FiberChannel/SAS LUN´e. Это позволит Вам в любой момент увеличить объем диска под нужды операционной системы или базы данных.
Если вы используете KVM, то укажите шину IDE для сервера лицензирования и VirtIO-SCSI для кластера 1С/СУБД.
После подготовки машин устанавливаем туда любимый дистрибутив (для начинающих я рекомендую Ubuntu Server 16.04 LTS), СУБД (например PostgreSQL), серверную часть платформы 1С предприятия на сервера лицензирования и кластер 1С. При желании можно дополнить конфигурацию веб-сервером Apache2.4 на кластере серверов 1С-предприятия (я использую его совместно с nginx для аутентификации снаружи по сертификатам, но это лирика).
Поднимаем кластер
Для установки кластера на сервере лицензирования и будущем кластере 1С нужно распаковать архив серверной части 1С. Раньше её можно было скачать с помощью обозревателя elinks, но сейчас такой способ больше не работает (говорит что файл не найден).
P.S. Если кто нибудь знает способ скачать дистрибутив 1С не прибегая к корпоративному репозиторию, непосредственно из командной строки сервера, напишите в комментариях.
Далее все примеры будут приводиться для дистрибутива Ubuntu Server 16.04 LTS и командной оболочки bash. Для RHEL-based дистрибутивов замените dpkg на rpm.
Устанавливаем 1С на сервере лицензирования и на кластере серверов, если вам не нужен веб сервер:
Устанавливаем 1С на кластере серверов, если вам нужен веб-сервер:
Активируем запуск кластера серверов и запускаем его:
Теперь можно настроить кластер серверов 1С предприятия. Сделать это можно с командной строки или из графической оснастки MMC на платформе Windows. В будущем я возможно сделаю свою оболочку над консольной утилитой, но пока хватает и этого.
Запускаем клиент-серверный менеджер управления кластером для управления с командной строки:
Получаем информацию по кластеру:
Параметр localhost:1545 можно опустить если вы планируете управлять только локальным кластером. При необходимости можно управлять любым кластером, бал бы нужный логин и пароль администратора кластера серверов 1С предприятия. Далее предполагаем что команды выполняются локально на каждом из серверов, например по SSH. Тем не менее никто не запрещает нам управлять обоими серверами с одной консоли.
Самое главное в выхлопе команды для нас — GUID нашего кластера, копируем его, в буфер обмена или сохраняем его в сессионную переменную вот так (на обоих серверах — лицензирования и основном сервере 1С):
На сервере лицензирования удаляем кластер серверов:
На основном сервере 1С добавляем новый сервер в кластер:
Получаем идентификатор нашего сервера:
Удаляем все требования назначения роли:
Добавляем роль сервера лицензирования:
После настройки кластера серверов и переноса сервера лицензирования на отдельный узел (возможно придется прописать их в файле hosts, если у Вас нет собственного DNS сервера) мы можем приступить к следующей части.
Часть вторая: Готовим начинку клиент
Установка клиентской части в чем то тривиальна — устанавливаем общие компоненты из состава сервера и толстый клиент (для рабочих мест можно только тонкий). В качестве клиентской системы я рекомендую что-нибудь простое и удобное для простого пользователя, все таки работать в системе будет либо руководство, либо бухгалтер, возможно ещё кассиры и иной персонал. В моем случае выбор падает на Linux Mint, вы можете выбрать и другой дистрибутив, например Rosa или Astra Linux, в силу религиозных государственных предпочтений. Нужно отметить что на текущий момент 1С не очень хорошо дружит с Gnome 3.0 и его производными, в частности на момент написания статьи 1С 8.3.11 при запуске роняла Cinnamon, поэтому лучшим выбором будет Xfce, KDE или Mate среда окружения. Для руководства, привыкших к Mac подойдет связка Mate+CairoDock.
На настоящий момент 1С-Отчетность работает только с СКЗИ КриптоПро (захардкожено в 1С), тем не менее ЭДО можно использовать с тем же VipNet или другим CADES совместимым СКЗИ.
Толстый и тонкий клиент:
Только тонкий клиент:
Устанавливаем КриптоПро 4.0:
Проверяем и устанавливаем лицензию на КриптоПро (можно остаться на пробной версии и попробовать продукт перед приобретением, или если у вас лицензия на КриптоПро в составе сертификата — ничего не делать):
Теперь подключаем к рабочей станции USB токен, смарт-карту, флешку с контейнером КриптоПро, производим вывод перечня контейнеров и импортируем сертификаты. При импорте с рутокена могут быть проблемы с кодировкой в наименовании контейнера, в этом случае можно воспользоваться inline вызовом iconv для преобразования кодировки, там cp1251.
На выходе должны получить список контейнеров вида:
\.\Aktiv Rutoken lite 00 00\blahblahblah
\.\Aktiv Rutoken ECP\blahblahblah
\.\HDIMAGE\mycont
Если получили крякозяблики в имени контейнера пробуем вывести сведения вот так:
В случае если контейнер создан в ОС Windows и имеет в имени кириллицу, импорт конкретного контейнера будет чуть чуть усложнен, но не невозможен.
Или в случае cp1251
Далее нам нужно получить сертификат головного УЦ выдавшего Ваш сертификат. Для этого нам нужно вывести список сертификатов установленных в хранилище личных сертификатов пользователя:
Нам нужно значение поля “CA cert URL”, автоматически скачать сертификаты удостоверяющих центров можно так:
Если нам требуется поддержка ЭЦП BrowserPlugin, он ставится в два этапа — плагин для Linux + плагин для Firefox/Chrome обозревателя.
Проверяем работу криптопровайдера через портал КриптоПро (веб) или из командной строки. Если через веб у вас не увиделся сертификат, значит машина не может проверить подлинность сертификата головного УЦ выпустившего сертификат, либо сертификат не прошел проверку подлинности. Возможно потребуется скачать и вручную установить CRL, например если доступ в интернет с машины ограничен или на шаге ранее вы не установили клиент curl.
Для проверки с командной строки с проверкой всей цепочки УЦ, воспользуемся следующими командами:
Теперь, когда программное обеспечение на клиенте установлено, приступаем к завершающему этапу — настройке самой отчетности.
Часть третья: Покрываем глазурью
Завершающий этап самый важный. На этой стадии мы уже имеем установленный и настроенный кластер серверов 1С предприятия, и клиентскую машину с тонким и толстым клиентами 1С. Толстый клиент нам понадобится для первоначального развертывания ИБ, активации лицензий и обновления конфигурации ИБ (режим конфигуратора) в остальных случаях нам хватит тонкого клиента. Сама 1С-Отчетность работает только в тонком клиенте.
P.S. Может быть сотрудники 1С или Калуги-Астрал пояснят такое поведение системы при работе с внешней компонентой взаимодействия с СКЗИ.
Настраиваем подключение к базе:
Запускаем клиент 1С и добавляем новое подключение к информационной базе. Если база данных на кластере серверов ещё не существует, создаем её из толстого клиента, можно пустую с последующим импортом дампа средствами конфигуратора (dt,cf файл) или СУБД. В принципе здесь все как обычно, указываем наименование головного узла кластера серверов, имя информационной базы и выбираем преимущественный тип запуска “Тонкий клиент”.
Настраиваем СКЗИ в 1С:
Все настройки приводятся для интерфейса “Такси”, если вы используете классический интерфейс 1С-Предприятия — выбирайте соответствующие пункты главного меню программы.
Открываем “Администрирование” -> “Настройки программы”: “Обмен электронными документами”.
Из открывшейся вкладки выбираем “Электронная подпись и шифрование”: “Настройки электронной подписи и шифрования”.
Переходим на вкладку “Программы”, находим “КриптоПро CSP (ГОСТ 2001)” и “КриптоПро CSP (ГОСТ 2012)” — для этих программ указываем путь “/opt/cprocsp/lib/amd64/libcapi20.so”. После ввода пути программы можем переключиться на любой пункт списка, состояние результата проверки должно смениться с “Не указан путь к программе” на “Установлена на компьютере”.
Добавляем сертификаты и проверяем работу СКЗИ:
Переходим на вкладку “Сертификаты”, нажимаем кнопку “Добавить” из установленных на компьютере. Выпускать сертификат на стороне тонкого клиента я ещё не пробовал, раньше он не работал. Выбираем сертификат из установленных в хранилище пользователя, нажимаем кнопку “Проверить”, вводим пинкод пароль. Должны получить окно с прошедшей проверкой сертификата:
Добавляем оператора документооборота:
Теперь нам нужно добавить оператора документооборота, если он не настроен на уровне Windows клиента ранее. Для этого открываем “Отчеты” -> “1С-Отчетность”: “Регламентированные отчеты”. Из открывшейся вкладки выбираем пункт “Настройки” и далее “Заявление на подключение к 1С-Отчетности” или “Настройки обмена с контролирующими органами”. В случае ручной настройки обмена с КО, нажимаем на направление сдачи отчетности, которое мы настраиваем, например ФНС. В открывшемся окне выбираем “Документооборот в универсальном формате с использованием встроенного механизма” и создаете новую учетную запись документооборота (или выбираете уже существующую).
В “Назначении” учетной записи указываете направления обмена у данного оператора, выбираете оператора ЗАО “Калуга-Астрал” или ООО “Такском”. Почтовый адрес — указываете адрес электронной почты выданный оператором ЭДО. Идентификатор документооборота — указываете ваш, присвоенный оператором ЭДО и идентификатор оператора (первая часть вашего идентификатора до дефиса).
Осуществляем автонастройку оператора:
Выбираете пользователей и нажимаете “Автонастройка”. Должен пройти обмен данными, расшифроваться xml контейнер с настройками и обновиться сертификаты головных и подчиненных УЦ. Данную операцию (автонастройку) нужно провести первый раз вручную на всех линукс-клиентах.
Настраиваем сервер на автоматический обмен ЭДО и ЭДКО (опционально):
Открываем “Администрирование” -> “Настройки программы”: “Обслуживание”. Далее “Регламентные операции”: “Регламентные и фоновые задания”. Находим в списке “Обновление проверок контролирующими органами”, “Получение результатов отправки отчетности” и “Обмен с контролирующими органами”. Назначаем расписание обмена. У меня стоит ежедневно. Запрашиваться будет только при открытии клиентской программы 1 раз в день.
Проверяем работу оператора документооборота, ЭДО и 1С-Отчетности.
К сожалению все ещё остается проблема в реализациях подсистем ЭДО и ЭДКО. Например при получении подтверждения и отправке отчета в контролирующие органы необходимо каждый раз вводить пин-код контейнера для каждого факта подписания данных. Пин-код, сохраненный в настройках ЭДО не учитывается конфигурацией 1С, возможно такое поведение исправят в следующих версиях ПО. Одно можно сказать точно: лед тронулся.
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
пятница, 14 декабря 2018 г.
Установка сертификатов используя КриптоПРО в Linux
Для установки в uRoot админиских прав больше не нужно. Ради этого их с mRoot и разделили. Работает так: если ставить в uRoot - видно будет только текущему пользователю, даже если он root, но права не нужны и будет диалог с предупреждением. Если ставить в mRoot, то нужны права, видно будет всем и предупреждения не будет.
Установка корневого сертификата удостоверяющего центра:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/<название файла>.cer -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/guts_2012.cer -store uRoot
Просмотор корневых сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uRoot
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -delete -all -store uRoot
Установка списка отозванных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -crl -file
Установка цепочки промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/<название файла>.p7b -store uca
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/fk_2012.cer -store uca
Просмотор промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uca
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uca
Установка сертификата с рутокена:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cont '<путь к контейнеру, начинающийся на \\.\>' -store uMy
Установка сертификата из контейнера:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont '\\.\HDIMAGE\test'
Просмотор личных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
Просмотр контейнеров, рутокенов
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn
Консолидированный файл, включающий в себя все корневые сертификаты CA операционной системы, находится в файле /etc/ssl/certs/ca-certificates.crt. Этот файл может быть символической ссылкой на фактическое расположение сертификатов в файлах /etc/ssl/cert.pem или /etc/ca-certificates/extracted/tls-ca-bundle.pem.
Корневые CA сертификаты в виде отдельных файлов расположены в директории /etc/ssl/certs, в этой директории могут быть ссылки на фактическое расположение сертификатов, например, в /etc/ca-certificates/extracted/cadir/.
Для просмотра Subject всех корневых CA сертификатов в системе:
Эти сертификаты используются утилитоми curl, wget и другими. Веб-браузеры Chromium и Firefox используют свои собственные хранилища корневых CA сертификатов.
Чтобы узнать, где веб браузеры хранять корневые CA сертификаты в Linux, нам нужно познакомиться с NSS.
Mozilla Network Security Services (NSS)
В отличие от OpenSSL, NSS использует файлы базы данных в качестве хранилища сертификатов.
NSS начинается с жёстко закодированного списка доверенных сертификатов CA внутри файла libnssckbi.so. Этот список можно просмотреть из любого приложения, использующего NSS, способного отображать (и манипулировать) хранилищем доверенных сертификатов, например, Chrome-совместимые или Firefox-совместимые браузеры.
Некоторые приложения, использующие библиотеку NSS, используют хранилище сертификатов, отличное от рекомендованного. Собственный Firefox от Mozilla является ярким примером этого.
В вашем дистрибутиве скорее всего уже установлен пакет NSS, в некоторых дистрибутивах он называется libnss3 (Debian и производные) в некоторых — nss (Arch Linux, Gentoo и производные).
Если вы хотите просматривать и изменять хранилища сертификатов NSS, то понадобиться утилита certutil. В Arch Linux эта утилита входит в пакет nss и, следовательно, предустановлена в Arch Linux. А в Debian и производные установка делается так:
Google Chrome / Chromium
Как уже было сказано, при работе на Linux, Google Chrome использует библиотеку Mozilla Network Security Services (NSS) для выполнения верификации сертификатов.
Корневые CA сертификаты, которые добавил пользователь, хранятся в файле
/.pki/nssdb/cert9.db, их можно просмотреть командой:
Поскольку Chrome не может удалить сертификаты из хранилища NSS, то если вы отключите некоторые из них в настройках веб браузера (Privacy and security → Manage certificates → Authorities), то в том же файле, где хранятся добавленные пользователем корневые CA сертификаты, будут сохранены изменения о полномочиях отключённого сертификата:
Используемые в Google Chrome / Chromium корневые CA сертификаты в Linux можно посмотреть следующим причудливым способом:
1. Найдите расположение файла libnssckbi.so (как было сказано в предыдущем разделе, в нём NSS хранит доверенные корневые сертификаты):
Примеры расположений этого файла:
- /usr/lib/libnssckbi.so
- /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so
2. Теперь выполните команду вида:
2. Затем запустите команду:
Вы увидите доверенные корневые сертификаты, которые использует Google Chrome в Linux.
Также вы можете просмотреть корневые CA сертификаты в настройках браузера:
Конфиденциальность и безопасность (выбрать «Ещё») → Настроить сертификаты → Центры сертификации, на английском это Privacy and security → Manage certificates → Authorities.
Firefox
Поскольку Firefox принадлежит Mozilla, то этот веб браузер, конечно, также использует Mozilla Network Security Services (NSS).
Стандартными расположениями папок с базами данных NSS являются:
Firefox НЕ использует ни одно из этих стандартных расположений, база данных хранится в профиле пользователя, который имеет общий вид
Посмотреть корневые сертификаты CA которые использует Firefox в Linux можно следующей командой:
У Firefox-esr это папка:
Также вы можете просмотреть корневые CA сертификаты в настройках браузера:
Приватность и Защита → Сертификаты → Просмотр сертификатов → Центры сертификации:
Thunderbird
Чтобы просмотреть, каким CA доверяет Thunderbird:
Чтобы найти все файлы cert9.db выполните команду:
Для глубокого понимания OpenSSL смотрите также полное руководство: «OpenSSL: принципы работы, создание сертификатов, аудит».
Читайте также: