ssl erlang gen-tcp

buscando un simple ejemplo de ssl erlang



gen-tcp (2)

Aquí está la guía de usuario para la aplicación SSL de Erlang : Erlang - Guía del usuario de SSL

La guía contiene también, en el capítulo API, un párrafo sobre la actualización de las conexiones existentes a SSL.

En cuanto a tu código, deberías hacer algo como:

  • en el lado del servidor y del cliente tiene que emitir: ssl:start()
  • lado del servidor: handshake SSL (recuerde configurar ''activo'' en falso para el socket de escucha)

    {ok, SSLSocket} = ssl:ssl_accept(Socket, [{cacertfile, "cacerts.pem"}, {certfile, "cert.pem"}, {keyfile, "key.pem"}]).

    donde "cacerts.pem", "cert.pem", "key.pem" son archivos relacionados con la certificación SSL

  • lado del cliente: actualice la conexión a SSL: {ok, SSLSocket} = ssl:connect(Socket, [{cacertfile, "cacerts.pem"}, {certfile, "cert.pem"}, {keyfile, "key.pem"}], infinity).

Según la documentación, ahora SSLSocket es un canal ssl que se puede usar para enviar mensajes como: ssl:send(SSLSocket, "foo").

¡Espero que esto ayude!

en el libro "Programación Erlang", uno de los ejercicios propuestos fue imprimir en pantalla la solicitud proveniente de un navegador usando gen_tcp. Lo hice para las solicitudes http de la siguiente manera:

-module(tcp). -export([server/0, wait_connect/2]). server() -> {ok, ListenSocket} = gen_tcp:listen(1234, [binary, {active, false}]), wait_connect(ListenSocket,0). wait_connect(ListenSocket, Count) -> {ok, Socket} = gen_tcp:accept(ListenSocket), spawn(?MODULE, wait_connect, [ListenSocket, Count+1]), get_request(Socket, [], Count). get_request(Socket, BinaryList, Count) -> Request = gen_tcp:recv(Socket, 0), io:format("~p~n", [Request]).

Ahora me pregunto cómo se puede hacer esto en caso de solicitud de https.

¿Puedes dar un ejemplo muy simple? o apuntarme a algún recurso en libros o en línea?

Gracias de hecho