Erlang 需要连接到 https 服务器吗?
Erlang needs to connect to https server?
我有一个 erlang 应用程序,它需要使用 HTTPS 连接到托管在 Apache 上的 php 应用程序。如何在我的 erlang 机器上安装客户端证书?
作为安全套接字层接口的 Erlang/OTP 的 SSL 模块有一个用于定义客户端证书的选项:
{cacertfile, path()}
Path to a file containing PEM-encoded CA certificates. The CA certificates are used during server authentication and when building the client certificate chain.
现在,如果您想使用支持客户端 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 选项的完整列表。
我有一个 erlang 应用程序,它需要使用 HTTPS 连接到托管在 Apache 上的 php 应用程序。如何在我的 erlang 机器上安装客户端证书?
作为安全套接字层接口的 Erlang/OTP 的 SSL 模块有一个用于定义客户端证书的选项:
{cacertfile, path()}
Path to a file containing PEM-encoded CA certificates. The CA certificates are used during server authentication and when building the client certificate chain.
现在,如果您想使用支持客户端 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 选项的完整列表。