gpt4 book ai didi

ssl - 即使通过不安全的选项,使用 hackney 发出请求时证书未知

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:07 24 4
gpt4 key购买 nike

我正在尝试调用我正在使用 Hackney 开发的 API。

此 API 是一个 Rails 应用程序,为了开发,我使用 nginx 和 passenger 来为其提供服务,并且我使用 etcd_ca 生成了 CA 证书和主机证书。我已经在我的 linux box 中安装了 CA 证书,curl、chrome 或 firefox 都没有对证书提出投诉。

但是当我尝试向 Hackney 发出请求时,我得到了这个错误:

hackney:request(Method, Uri, Headers, Body, [insecure]).


18:43:15.720 [error] SSL: :certify: ssl_handshake.erl:415:Fatal error: certificate unknown

** (MatchError) no match of right hand side value: {:error, {:tls_alert, 'certificate unknown'}}
(omnitutor_rt) lib/omnitutor_rt/api_client.ex:49: OmnitutorRT.APIClient.request/3
(omnitutor_rt) lib/omnitutor_rt/api_client.ex:7: OmnitutorRT.APIClient.get_session/2

在暂存和开发中,我有一个有效的证书。

我正在运行 Arch Linux、Elixir 1.2 和 Erlang 18。

Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Linux 4.4.1-2-ARCH #1 SMP PREEMPT Wed Feb 3 13:12:33 UTC 2016 x86_64 GNU/Linux

etcd-ca 使用此模板生成证书:

https://github.com/coreos/etcd-ca/blob/master/Documentation/certificate_template.md

这有关系吗? http://bugs.erlang.org/browse/ERL-33

最佳答案

查看这个错误,我们有一个文件名和行号:

ssl_handshake.erl:415:Fatal error: certificate unknown

reading the source我们看到当从 ssl_certificate:trusted_cert_and_pathpublic_key:pkix_path_validation 捕获错误时会发生这种情况。不幸的是,我们看不到实际的错误信息。

找出问题所在的最好方法可能是跟踪这两个函数。这就是您在 Erlang shell 中键入的内容; Elixir 版本应该类似:

%% start the tracer
dbg:tracer().
%% trace function _c_alls for _all_ processes
dbg:p(all,c).
%% add a _t_race _p_attern for the relevant functions,
%% and look for e_x_ceptions
dbg:tp(ssl_certificate, trusted_cert_and_path, x).
dbg:tp(public_key, pkix_path_validation, x).

关于ssl - 即使通过不安全的选项,使用 hackney 发出请求时证书未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35235998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com