Вопрос или проблема
Я за корпоративным прокси, и у нас есть ПК на Windows с предустановленными корневыми сертификатами, так что SSL работает с прокси. На моем ПК я запускаю виртуальные машины Linux для тестирования, и мне нужно установить эти сертификаты в виртуальной машине, чтобы я мог обращаться к любым SSL URL (клонирование github и т. д.). Я попробовал несколько методов, чтобы экспортировать сертификаты из Windows и импортировать их в Ubuntu, но пока не могу получить доступ к SSL из виртуальной машины.
Этот ответ дал мне лучшую идею о том, в каком формате экспортировать сертификат из Windows (base-64 .cer). После того как я экспортирую файлы .cer
и копирую их в виртуальную машину, я переименовываю их с расширением .crt
.
Этот ответ лучше всего резюмирует то, что я пробую в виртуальной машине.
После того как я добавляю сертификаты в директорию usr/share/ca-certificates
и запускаю update-ca-certificates
, сертификаты действительно создают символические ссылки в /etc/ssl/certs
, но все равно нет SSL-трафика.
Это на хосте Windows 7, гость Ubuntu 12.04.
Некро-пост, но на случай, если кто-то другой столкнется с этим:
Ответ (предположительно) в том, что Firefox использует другой механизм хранилища сертификатов, поэтому следует добавить его в профиль Firefox, специфичный для пользователя. (Можно использовать графический интерфейс Firefox)
Смотрите Добавить центры сертификации системно для Firefox
Проблема в том, что Firefox не имеет ‘центрального’ места, где он ищет сертификаты. Он просто смотрит в текущий профиль. Именно поэтому изменение /usr/share/ca-certificates или других подобных директорий не сработает с Firefox. Это то, что запрашивается уже много лет; см. проблемы 620373, 449498 и 454036 (и, вероятно, есть много других).
Таким образом, у вас остается всего два решения: либо изменять каждый профиль, либо изменять поведение Firefox. Я знаю, что это не то, что вам нужно, но других способов нет, потому что Firefox смотрит только на профили пользователей.
Ответ или решение
Экспорт и импорт корневых сертификатов CA: Решение для Ubuntu на Windows
Ваша задача по переносу корневых сертификатов CA из Windows в Ubuntu для работы за корпоративным прокси — это распространённая проблема, с которой сталкиваются пользователи, использующие виртуальные машины для разработки и тестирования. Давайте найдём пошаговое решение, которое поможет произвести этот процесс корректно.
Шаг 1: Экспорт сертификатов из Windows
- Открытие MMC: Запустите "Менеджер управления сертификатами" (MMC). Для этого нажмите
Win + R
, введитеmmc
и нажмитеEnter
. - Добавление оснастки сертификатов: В меню "Файл" выберите "Добавить/удалить оснастку". Выберите "Сертификаты" и добавьте для "Учётной записи компьютера".
- Навигация к корневым сертификатам: Перейдите в "Дерево сертификатов" -> "Доверенные корневые центры сертификации" -> "Сертификаты".
- Экспорт сертификатов: Выберите нужные сертификаты, щелкните правой кнопкой мыши и выберите "Все задачи" -> "Экспорт". Выберите формат "Base-64 encoded X.509 (.CER)" и завершите процесс сохранения файла.
Шаг 2: Перенос сертификатов на Ubuntu
- Копирование файлов: Перенесите экспортированные
.cer
файлы на вашу Ubuntu VM. Вы можете использовать SCP, SFTP или USB-накопитель. - Переименование файлов: Чтобы гарантировать, что система распознает сертификаты, измените расширение файлов с
.cer
на.crt
.
Шаг 3: Установка сертификатов в Ubuntu
-
Поместите сертификаты в нужную директорию:
sudo cp /path/to/your/certs/*.crt /usr/share/ca-certificates/
-
Обновление хранилища сертификатов: Добавьте ваши сертификаты в файл
/etc/ca-certificates.conf
. Убедитесь, что перед именем сертификата стоит#
, если вы хотите закомментировать, и удалить символ#
, если хотите активировать. -
Запуск команды обновления:
sudo update-ca-certificates
Эта команда добавит сертификаты в каталог
/etc/ssl/certs
как символьные ссылки.
Шаг 4: Проверка работы SSL
На этом этапе ваши сертификаты должны быть успешно установлены, и вы должны быть в состоянии работать с SSL-соединениями через командную строку. Попробуйте выполнить curl
или wget
для тестирования подключения к SSL-URL.
Шаг 5: Особое внимание к Firefox
Несмотря на приведение вышеуказанных шагов, если вы используете Firefox внутри вашей Ubuntu VM, возможно, вам придется вручную установить корневые сертификаты в профиль пользователя Firefox. Это связано с тем, что Firefox не использует системные сертификаты по умолчанию.
- Открыть Firefox и перейти в "Настройки" -> "Конфиденциальность и безопасность".
- В разделе "Сертификаты" нажмите "Просмотреть сертификаты".
- В открывшемся окне перейдите на вкладку "Authorities" и импортируйте ваши
.crt
файлы.
Заключение
Следуя приведённым выше шагам, вы сможете успешно экспортировать корневые сертификаты CA из Windows и импортировать их в Ubuntu для работы за корпоративным прокси. Заметим, что для обеспечения работоспособности в браузерах, таких как Firefox, может потребоваться дополнительная настройка. Надеюсь, это решение поможет вам беспрепятственно продолжать свою работу с SSL-соединениями в вашей виртуальной среде.