当我在Erlang 21中执行以下操作时,出现错误。
inets:start(),
ssl:start(),
httpc:request(post,
{"https://sandbox.itunes.apple.com/verifyReceipt", [], "application/json", []},
[], []).
错误是:
=INFO REPORT==== 3-Oct-2018::19:32:47.728491 ===
TLS client: In state hello received SERVER ALERT: Fatal - Handshake Failure
{error,{failed_connect,[{to_address,{"sandbox.itunes.apple.com",443}},
{inet,[inet],{tls_alert,"handshake failure"}}]}}
当我在Erlang 20中执行相同操作时,它就可以正常工作。
有人可以告诉我什么地方可能出问题吗?
答案 0 :(得分:9)
进行了一些研究,发现由于comment
安全性: 从SSL和SSH中的默认密码中删除了“不安全”密码。
您需要手动配置SSL(启用密码)
EnabledCiphers = ssl:cipher_suites(all, 'tlsv1.2'),
Options = [{ciphers, EnabledCiphers}],
httpc:request(post,{"https://sandbox.itunes.apple.com/verifyReceipt",
[],"application/json", []}, [{ssl,Options}], []).