как отключить проверку ssl на pygit2

Я использую pygit2 для программного клонирования репозитория с внутреннего сервера, который содержит самозаверяющий сертификат. pygit2 выдает ошибку сертификата, как отключить проверку?


person user3236929    schedule 26.04.2016    source источник
comment
пожалуйста, можете ли вы опубликовать строку (и) кода, которые пытаются это сделать, это облегчит ответ   -  person cjwfuller    schedule 26.04.2016


Ответы (1)


Эта проверка выполняется из-за pygit2/remote.py#L170-L175.

def _fill_fetch_options(self, fetch_opts):
    fetch_opts.callbacks.certificate_check = self._certificate_cb

Как в этом вопросе, вы можете переопределить функция обратного вызова со своей собственной (которая ничего не делает) для git_fetch_options struct.

git_fetch_options options = GIT_FETCH_OPTIONS_VERSION;
options.git_remote_callbacks.certificate_check = my_own_cred_acquire_cb;

Этот подход повторяется и подтверждается в собственной проблеме OP на pygit2:

Вы не можете сказать pygit2/libgit2 игнорировать все, но вы можете предоставить свою собственную функцию проверки сертификата в качестве обратного вызова.
Если вы установите certificate_check для какой-либо написанной вами функции, вы можете игнорировать сертификат для вашего заведомо плохого хоста.

person VonC    schedule 26.04.2016
comment
спасибо, я отменил certificate_check и всегда возвращает True, но все равно не удалось. ошибка, вызванная высказыванием «многие перенаправления». github.com/libgit2/pygit2/issues/627 - person user3236929; 28.04.2016