朱莉娅证书错误

时间:2017-08-03 15:51:54

标签: git ssl julia

我正在努力让Julia 0.6.0从我们的企业防火墙后面工作,该防火墙使用自签名证书进行身份验证。到目前为止,我一直无法找到正确的咒语来说服julia / gitlib2即使它是自签名证书也没问题。如果这有所作为,我在CentOS上。

无论我尝试过什么,都会发生以下错误。

INFO: Initializing package repository /home/tannerww/.julia/v0.6
INFO: Cloning METADATA from https://github.com/JuliaLang/METADATA.jl
ERROR: GitError(Code:ECERTIFICATE, Class:SSL, SSL error: ffffd900[10008] - X509 - Certificate verification failed, e.g. CRL, CA or signature check failed)
Stacktrace:
 [1] macro expansion at ./libgit2/error.jl:99 [inlined]
 [2] clone(::String, ::String, ::Base.LibGit2.CloneOptions) at ./libgit2/repository.jl:276
 [3] #clone#100(::String, ::Bool, ::Ptr{Void}, ::Nullable{Base.LibGit2.AbstractCredentials}, ::Function, ::String, ::String) at ./libgit2/libgit2.jl:562
 [4] (::Base.LibGit2.#kw##clone)(::Array{Any,1}, ::Base.LibGit2.#clone, ::String, ::String) at ./<missing>:0
 [5] (::Base.Pkg.Dir.##8#10{String,String})() at ./pkg/dir.jl:55
 [6] cd(::Base.Pkg.Dir.##8#10{String,String}, ::String) at ./file.jl:70
 [7] init(::String, ::String) at ./pkg/dir.jl:53
 [8] #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{String,N} where N) at ./pkg/dir.jl:28
 [9] add(::String) at ./pkg/pkg.jl:117

我尝试过其他一些东西,但到目前为止没有任何影响。我在gitconfig中设置了sslCert和sslCAInfo来指向我们添加了公司证书的certs文件。我在gitconfig中也设置了sslVerify = false但GitLib2似乎忽略了它。

在julia方面,我找到了GitLib2.ProxyOptions结构,它包含一个在验证失败时调用的certificate_cb函数。我还没有弄清楚如何设置回调,因此它是全局使用的。如果我能做到这一点,我至少可以解决这个问题(也许)。

此时我对于接下来要尝试的内容感到很遗憾。

1 个答案:

答案 0 :(得分:3)

LibGit2.set_ssl_cert_locations对我不起作用,但我能够通过设置环境变量SSL_CERT_FILE来实现它,例如,将以下内容添加到我的.bashrc中:

export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt