【问题标题】:Erlang needs to connect to https server?Erlang需要连接https服务器吗?
【发布时间】:2016-01-16 04:25:57
【问题描述】:

我有一个 erlang 应用程序,它需要使用 HTTPS 连接到托管在 Apache 上的 php 应用程序。如何在我的 erlang 机器上安装客户端证书?

【问题讨论】:

  • 你是用httpc还是别的什么?
  • 没什么,我想知道erlang能不能连接到其他https服务器。

标签: erlang ssl-certificate


【解决方案1】:

作为安全套接字层接口的 Erlang/OTP 的 SSL 模块有一个定义客户端证书的选项:

{cacertfile, path()}

包含 PEM 编码 CA 证书的文件的路径。 CA 证书在服务器身份验证和构建客户端证书链时使用。

现在,如果您想使用支持客户端 ssl 证书的 HTTP 客户端,而不是自己编写所有内容,您有一些选择:

1. HTTPC: 这是 OTP 的默认 HTTP 客户端。

SSLOptions = [{cacertfile, "/path/to/cert/file"}],
HTTPOptions = [{ssl, SSLOptions}],
%% ... define Method, Request and Options ...
httpc:request(Method, Request, HTTPOptions, Options),

2。 Hackney:这是一个第三方简单的HTTP客户端。

SSLOptions = [{cacertfile, "/path/to/cert/file"}],
Options = [{ssl_options, SSLOptions}],
%% ... define Method, URL, Headers and Payload ...
hackney:request(Method, URL, Headers, Payload, Options),

Here您可以看到可以使用的客户端 ssl 选项的完整列表。

【讨论】:

    猜你喜欢
    • 2016-02-19
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2018-04-23
    • 2020-01-25
    相关资源
    最近更新 更多