Ошибка проверки сертификата сервера: издатель не является доверенным - PullRequest
65 голосов
/ 30 июня 2010

Я получаю ошибку ниже при запуске цели сценария ANT. Сообщение об ошибке о том, что «проверка сертификата сервера не удалась». Помогите пожалуйста как убрать эту проблему. Я работаю в Windows XP.

C:\apache-ant-1.8.1>ant checkout
Buildfile: C:\Program Files\Java\apache-ant-1.8.1\build.xml

checkout:
[svn] Using command line interface
Svn : Checking out a working copy from a repository :
co -r HEAD https://col.../trunk C:\ant-1.8.1\Test_Checkout 
--username 69 --password *******--non-interactive
svn: PROPFIND request failed on '/svn/asia-pac-financials/trunk'
svn: PROPFIND of '/sv.../trunk': 
Server certificate verification failed: 
issuer is not trusted (https://col....com)

BUILD FAILED
C:\apache-ant-1.8.1\build.xml:16: Can't checkout

Total time: 3 seconds

Ответы [ 9 ]

138 голосов
/ 30 июня 2010

вы можете попробовать запустить svn checkout один раз вручную по вашему URL-адресу https://yoururl/trunk C:\ant-1.8.1\Test_Checkout с помощью командной строки и принять сертификат.

Или, как сказано ниже @AndrewSpear

Вместо проверки вручную, запуститеsvn list https://your.repository.url из терминала (Mac) / командной строки (Win), чтобы получить возможность постоянно принимать сертификат.

svn запросит у вас подтверждение.принять его навсегда.

После этого это должно работать для последующих запросов от скрипта ant.

48 голосов
/ 17 марта 2011

Запустите «svn help commit» для всех доступных опций. Вы увидите, что за прием сертификатов сервера отвечает один параметр:

--trust-server-cert: принимать неизвестные сертификаты сервера SSL без подсказка (но только с --non-interactive)

Добавьте его к аргументам команды svn, и вам не нужно будет запускать svn вручную, чтобы принять его навсегда.

11 голосов
/ 30 января 2013

Я бы не стал использовать:

svn checkout

только для авторизации аутентификации сервера, я скорее использую:

svn list https://your.repository.url

, которая также попросит вас выполнить аутентификацию.

Если это необходимо для авторизации пользователя, который не может войти в систему, выполните команду:

sudo -u username svn list https://your.repository.url
2 голосов
/ 19 мая 2016

Если вы используете svn с Jenkins на Windows Server, вы должны принять сертификат https, используя того же пользователя службы Jenkins для Windows.
Таким образом, если ваша служба Jenkins работает как «MYSERVER \ Administrator», вы должны использовать эту командураньше всех остальных, только один раз, конечно:

runas / user: MYSERVER \ Administrator "svn --username user --password список паролей https://myserver/svn/REPO"

svn просит вас принять сертификат и сохраняет его по правильному пути .

После этого вы сможете использовать svn в задании jenkins непосредственно на шаге пакетной команды Windows.

1 голос
/ 28 января 2014

Просто установите серверный сертификат в контейнер доверенных корневых сертификатов клиента (если он сертифицирован, срок его действия может не работать). Для получения дополнительной информации см. Этот пост аналогичного вопроса.

https://stackoverflow.com/a/21238125/3215589

1 голос
/ 13 ноября 2012
string cmdArguments = $@"/k svn log --trust-server-cert --non-interactive ""{servidor}"" --username alex --password alex -r {numeroRevisao}";
ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe", cmdArguments);

cmd.CreateNoWindow = true;
cmd.RedirectStandardOutput = true;
cmd.RedirectStandardError = true;
cmd.WindowStyle = ProcessWindowStyle.Hidden;
cmd.UseShellExecute = false;

Process reg = Process.Start(cmd);
string output = "";

using (System.IO.StreamReader myOutput = reg.StandardOutput)
{
    output += myOutput.ReadToEnd();
}
using (System.IO.StreamReader myError = reg.StandardError)
{
    output += myError.ReadToEnd();
}

return output;
0 голосов
/ 14 мая 2014

из cmd run: URL списка SVN Вам будут предоставлены 3 варианта (r) eject, (a) ccept, (p) ermanently. введите стр. Эта решенная проблема для меня

0 голосов
/ 06 марта 2014

во время работы командной строки.Я использую Ant для фиксации артефакта после завершения сборки.Испытывал ту же проблему ... Исключение сертификата вручную не сработало (Дженкинс забавен в этом смысле).Добавьте эти параметры в вашу команду svn:

- неинтерактивный

- trust-server-cert

0 голосов
/ 28 августа 2013

Другие ответы не работают для меня. Я пытаюсь заставить командную строку работать в Дженкинсе. Все, что вам нужно, это следующие аргументы командной строки:

--non-interactive

--trust-server-cert

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