gpt4 book ai didi

ssl - 使用 ssl 在 Erlang 中将证书和 key 作为 der_bin() 传递

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:48 26 4
gpt4 key购买 nike

我已经从 PEM 文件中获取了证书和 key 并将 base64 解码为二进制并将它们放入 Cert 中和 Key .

然后我有以下代码来打开一个连接。

make_connection(Cert, Key) ->
Options = [{cert, Cert}, {key, Key}, {mode, binary}],
Timeout = 1000,
% {ok, Socket} replaced for debugging...
Socket = ssl:connect(?PUSH_SERVER_HOST, ?PUSH_SERVER_PORT,
Options, Timeout),
Socket.

调用 make_connection(Cert, Key)返回 {error, {eoptions, {key, <<...>>}}} .

当我替换 Cert 时和 Key带有 PEM 文件的路径,以及 Options = [{certfile, ... keyfile ...}] ,它会按预期工作并创建 SSL 套接字。

那么我是否遗漏了使用 cert 的任何内容?和 key一个人?

最佳答案

查看 ssl.erl来自 ssl 应用程序的文件,看起来你应该使用元组作为你的 Key,而不是二进制文件:

validate_option(key, {KeyType, Value}) when is_binary(Value),
KeyType == rsa;
KeyType == dsa ->
{KeyType, Value};

指定 key 类型的位置。 the documentation for the connect function 中似乎存在错误,它说你应该使用二进制文件 (der_bin()) 作为你的 key 。

关于ssl - 使用 ssl 在 Erlang 中将证书和 key 作为 der_bin() 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4641135/

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