Я взял сертификат и ключ из файла PEM, расшифровал 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
?