Xcode 4 SVN висит на «Проверка», если требуется сертификат клиента - PullRequest
5 голосов
/ 13 мая 2011

Я пытаюсь заставить Xcode 4 работать с моим SVN-репозиторием. Я набираю адрес svn, который, по его словам, доступен, но когда я пытаюсь проверить это, появляется сообщение «Серверу« svn.testbedapp.com »требуется сертификат клиента». (он не предоставляет возможность предоставить сертификат), а затем показывает «Извлечение« ProjectName »на неопределенное время с помощью вращающегося колеса s.

Есть идеи, как мне предоставить сертификат или получить его, проверяя что-нибудь?

Ответы [ 3 ]

12 голосов
/ 13 мая 2011

Это известная проблема.

Открытый терминал, тип

svn ls <your repository address>

подтвердить сертификаты, проверить логин / пароль. После этого репо будет нормально работать в xcode.

1 голос
/ 20 сентября 2012

Вы можете поместить имя файла сертификата в файл конфигурации SVN

 ~/.subversion/servers

В разделе [global] просто добавить строку (используйте полный путь - не относительный)

ssl-client-cert-file = /path/to/your/certificate.p12

При желании вы также можете добавить

ssl-client-cert-password = yourpassphrase 
store-passwords = yes
store-ssl-client-cert-pp = yes**
0 голосов
/ 03 июля 2013

Чтобы ответить на исходный вопрос:

Серверу «foo.example.com» требуется сертификат клиента.

Перевод: Xcode не может найти сертификат клиента SSL вваша цепочка для ключей, сертификат недействителен, или если есть несколько сертификатов, XCode не знает, какой из них использовать.

Чтобы установить сертификат в вашей цепочке для ключей: В Finderоткройте файл, содержащий ваш сертификат клиента (обычно файл .p12).Нажмите «Добавить», затем введите пароль для расшифровки файла .p12.Если у вас есть соответствующий корневой сертификат (обычно файл .pem), импортируйте его также и нажмите «Всегда доверять» при появлении запроса.

Чтобы убедиться, что сертификат действителен: В связке ключейПолучите доступ, выберите сертификат клиента и найдите зеленую галочку и слова «Этот сертификат действителен».

  • Если вы видите «Этот сертификат был подписан неизвестным органом», установите соответствующий корневой сертификат..
  • Если вы видите «Этот сертификат был подписан ненадежным эмитентом», найдите, где написано «Выдан», найдите соответствующий корневой сертификат с этим именем и отметьте корневой сертификат как доверенный (по крайней мере,для X.509 Basic Policy).
  • Если вы видите «Срок действия этого сертификата истек», удалите его и получите новый.

Чтобы связать URL-адрес сУдостоверение личности: Вам необходимо указать личность.XCode не может сделать это, но и Keychain Access, и Safari могут.В Доступе Связки ключей выберите сертификат клиента и выберите меню «Файл»> «Новые предпочтения идентификации».Введите URL-адрес хранилища (например, https://foo.example.com/path/to/repository) и нажмите кнопку Добавить.

В качестве альтернативы: в Safari перейдите по URL-адресу хранилища.Если установлено несколько сертификатов, Safari предложит «Веб-сайту« foo.example.com »требуется сертификат клиента» и отобразит список сертификатов.Выберите тот, который вы установили на шаге (1).


Чтобы все заработало, вам также нужно обойти эти две распространенные ошибки:

Имя файла сертификата клиента: Область аутентификации: https://foo.example.com:443

Перевод: Subversion не может найти ваш сертификат клиента SSL на диске.

Xcode использует цепочку ключей, а сама Subversion (начиная с версии 1.4) использует цепочку ключейа также для паролей.Однако для сертификатов Subversion должен указывать на файлы на диске.

1) Откройте ~/.subversion/servers в вашем любимом текстовом редакторе.Внизу добавьте строку

ssl-client-cert-file = /path/to/first.last.p12

, где значением является путь к клиентскому сертификату в формате PKCS # 12.

svn: ОПЦИИ 'https://foo.example.com/path/to/repository': SSL handshakeне удалось, был запрошен сертификат клиента: ошибка SSL: ошибка квитирования оповещения sslv3

Перевод: Subversion не может найти пароль для расшифровки сертификата клиента SSL.

См. объяснениевыше.

Чтобы сохранить пароль .p12 в связке ключей: В Терминале введите

svn ls https://foo.example.com/path/to/repository
  • При появлении запроса введите пароль для файла .p12,Это будет сохранено в вашей цепочке для ключей как пароль приложения.
  • При появлении запроса введите пароль администратора для вашего Mac.
  • При появлении запроса введите учетные данные сервера.Это также будет храниться в вашей цепочке для ключей как пароль приложения.

На этом этапе вы должны увидеть содержимое вашего репозитория, отображаемое в терминале.

Примечание. Если вы используете версииПо мнению Black Pixel, по крайней мере v1.2.2, похоже, испытывают проблемы с использованием Keychain для паролей, поэтому в ~/.subversion/servers вам также необходимо добавить строку

ssl-client-cert-password = yourpassword

, где ваш пароль находится в открытом тексте.(Это явно небезопасно, поэтому не делайте этого, если вам не нужно.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...