2016-04-26 32 views
1

我使用pygit2以编程方式从包含自签名证书的内部服务器复制回购。 pygit2在证书上引发错误,我如何关闭验证?如何在pygit2上禁用ssl验证

+0

请你能发布的代码,尝试做这行(S),它会更容易回答 – cjwfuller

回答

0

,办理入住手续完成,因为pygit2/remote.py#L170-L175

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

作为in this question,你可以覆盖callback function with your own(这什么都不做)为git_fetch_options struct

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

这种做法相呼应,并确认在OP's own issue on pygit2

你不能告诉pygit2/libgit2无视一切,但你可以提供自己的证书验证功能作为一个回调。
如果您将certificate_check设置为您编写的某个函数,则可以忽略已知错误主机的证书。

+0

谢谢你,我推翻了certificate_check并始终返回true,但还是失败了。与“许多重定向”这个说法一起引发了一个错误。 https://github.com/libgit2/pygit2/issues/627 – user3236929