Возможный дубликат:
Ошибка проверки SSL-сертификата SVN
Я использую RedHat Enterprise Linux 6 и у меня установлен сервер Subversion (с Apache). Я только что настроил Apache для запуска HTTPS с сертификатом SSL от Geotrust. Часть Apache работает нормально (я могу получить доступ к своему сайту через HTTPS без предупреждений или проблем).
Однако, когда я запускаю svn co https://myserver.com/svn/proj_name
, я получаю следующую ошибку:
Error validating server certificate for 'https://myserver.com:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: myserver.com
- Valid: from Sun, 23 Oct 2011 16:15:13 GMT until Thu, 25 Oct 2012 05:38:36 GMT
- Issuer: GeoTrust, Inc., US
- Fingerprint: (some fingerprint)
(R)eject, accept (t)emporarily or accept (p)ermanently?
Кроме того, у меня есть файл конфигурации "серверов" подрывной деятельности :
[global]
ssl-authority-files=/usr/share/certs/GeoTrust_Primary_CA.pem;
ssl-trust-default-ca = true
Но когда я пытаюсь получить доступ к Subversion, я нахожу это в журнале ошибок:
svn: OPTIONS of 'https://myserver.com/svn/project_name': Server certificate verification failed: issuer is not trusted (https://myserver.com)
Я знаю, что SVN загружает файл первичного CA GeoTrust, и поскольку мой сертификат ОТ GeoTrust, я не могу понять, почему он все еще говорит, что проверка сертификата сервера не удалась. Почему он по-прежнему считает, что эмитенту не доверяют?
Сертификат с пометкой «первичный» подразумевает, что может существовать и «вторичный» промежуточный сертификат. Браузеры создают ужасные инструменты проверки ssl, потому что eack browser maker часто импортирует эти промежуточные сертификаты в свои хранилища ключей, что маскирует проблемы, подобные той, которую вы наблюдаете с svn.
Использует ли GeoTrust четырехстороннюю цепочку сертификатов с вашим ssl-сертификатом? Если это так, вы захотите создать пакет pem для своей конфигурации apache и включить оба промежуточных сертификата в этот пакет.
Что ж, я специально указал на ваш другой вопрос, что этот ответ может быть применим после того, как вы исправите проблему с загрузкой сертификата ... но, эй, я думаю, я удалю его оттуда и повторно отправлю это здесь.
Пара вещей, которые нужно проверить:
Просто запустите свой сайт SVN в браузере и проверьте путь к сертификату, ведущий обратно к корню - убедитесь, что отпечаток корневого каталога соответствует имеющемуся у вас файлу.
И экспортируйте сертификаты в x509, готовясь ко второму шагу:
Клиент SVN не может определить промежуточные звенья, если Apache их не представляет.
Вы 'Мне нужна директива SSLCertificateChainFile
, указывающая на файл, содержащий полную цепочку сертификатов x509 (кроме вашего собственного сертификата, который должен быть в SSLCertificateFile
):
-----BEGIN CERTIFICATE-----
(intermediate certificate's base64 data here)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(root certificate's base64 data here)
-----END CERTIFICATE-----
Если есть другие промежуточные звенья , просто добавьте их в обратном порядке.
Как только это будет сделано, убедитесь, что Apache отправляет всю цепочку с помощью openssl s_client -connect myserver.com:443 -showcerts
.