2

Я использую SVN в Mac OS X. Часто, когда я извлекаю что-то из SourceForge, мне предоставляют:

$ svn checkout https://svn.code.sf.net/p/cryptopp/code/trunk/c5 cryptopp-ecies
Error validating server certificate for 'https://svn.code.sf.net:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: *.code.sf.net
 - Valid: from Thu, 16 Apr 2015 00:00:00 GMT until Sun, 15 May 2016 23:59:59 GMT
 - Issuer: GeoTrust Inc., US
 - Fingerprint: 1f:7b:73:d5:cf:71:18:76:d5:23:f3:07:c9:2f:f5:4a:52:67:0f:68

OpenSSL s_client показывает, что самым верхним CA является Центр сертификации Equifax Secure:

$ openssl s_client -connect svn.code.sf.net:443 -showcerts
...
---
Certificate chain
 0 s:/C=US/ST=New York/L=New York/O=Dice Career Solutions/OU=code.sf.net/CN=*.code.sf.net
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
 1 s:/C=US/O=GeoTrust Inc./CN=GeoTrust SSL CA - G3
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Equifax Secure Certificate Authority присутствует в Keychain OS Х:

Так что я не совсем уверен, почему меня подталкивает Subversion.

Вопрос: что Subversion использует для своего списка CA?


Это версия SVN от Apple 1.7.10 (а не Brew или Macports):

$ which svn
/usr/bin/svn
$ svn --version
svn, version 1.7.10 (r1485443)
   compiled Jan 15 2014, 11:22:16

Страница man от Apple для SVN только описывает программу в одном пункте. Это даже не беспокоит детализации переключателей.

1 ответ1

3

По умолчанию клиент SVN не использует никаких сертификатов. У вас есть два варианта:

1.

Загрузите файл ca-bundle.crt последних сертификатов mozilla CA по ссылке на веб-странице cURL.

Найдите в вашем домашнем каталоге файл конфигурации svn, называемый servers : ~/.subversion/servers . Создайте файл и папку .subversion если они не существуют.

Добавьте путь к комплекту сертификатов в servers разделе конфигурации global :

[global]
ssl-authority-files = /path/to/the/ca-bundle.crt

2.

Установите сертификаты CA для OpenSSL и добавьте следующую строку в файл конфигурации servers в global разделе:

[global]
ssl-trust-default-ca = yes

Сначала я думал, что второй вариант не работает на OS X, но я протестировал его, и он действительно работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .