Я выполняю следующую команду:
svn info --non-interactive --trust-server-cert --no-auth-cache --xml "https://ommited/svn/YAMS"
К сожалению, я получаю следующую ошибку:
?xml version="1.0" encoding="UTF-8"?>
<info>
svn: E175002: Unable to connect to a repository at URL 'https://ommited/svn/YAMS'
svn: E175002: OPTIONS of 'https://ommited/svn/YAMS': Server certificat
e verification failed: certificate issued for a different hostname, issuer is no
t trusted (https://ommited)
Думал если поставить --non-interactive --trust-server-cert
, он проигнорирует проблему с самоподписанным сертификатом. Я что-то здесь делаю не так?
Ваше имя хоста не совпадает. Повторно выпустите свой сертификат с правильным именем хоста.
Один из шансов в svn cmd заключается в том, что --trust-server-cert будет доверять любому CA, однако он по-прежнему проверяет действительное имя хоста и истек ли срок действия сертификата.
Поэтому используйте правильное имя хоста для решения вашей проблемы.
И да, в этом нет смысла :-)
Видеть Вот для получения дополнительной информации из списка рассылки svn
запустите следующий PHP-код, чтобы принять сертификат, очень похоже на то, что вы делаете вручную, используя командную строку (где вы нажимаете 'p', чтобы принять сертификат навсегда):
<?php
header('Content-Type: text/plain; charset=UTF-8');
print( shell_exec('echo p | svn log --limit 4 c:/work/trunk 2>&1') );
?>
запустите его один раз, сертификат. будет принято, и теперь - запустите его "как обычно" (не нужно echo p
больше)
<?php
header('Content-Type: text/plain; charset=UTF-8');
print( shell_exec('svn log --limit 4 c:/work/trunk 2>&1') );
?>
Обратите внимание 2>&1
в конце. Рекомендую тоже добавить. таким образом вы можете увидеть вывод ошибки (если он есть).
кредит идет на подрывной-когда-доверительный-сервер-сертификата-недостаточно