2010-02-05 26 views
9

Versión de Erlang: R13B01Configurar Erlang para que funcione con SSL

Actualmente estoy intentando hacer que Erlang trabaje con SSL. La parte de programación fue fácil, pero ahora el sistema SSL no está habilitado.

Tras la Erlang SSL documentation:

1 - Hecho el archivo start_ssl.rel

{release, {"OTP APN 181 01","R13B01"}, {erts, "5.7.2"}, 
[{kernel,"2.13.2"}, 
    {stdlib,"1.16.2"}, 
    {sasl,"2.1.6"}, 
    {os_mon,"2.2.2"}, 
    {ssl,"3.10.3"}]}. 

2 - Ejecutado el comando siguiente

1> systools:make_script("start_ssl",[]). 

Según la documentación, utilizando el shell de salida se esto (esta salida es de documentos, no mío):

$ erl -boot /home/me/ssl/start_ssl 
Erlang (BEAM) emulator version 5.0 

Eshell V5.0 (abort with ^G) 
1> whereis(ssl_server). 
<0.32.0> 

Pero, estoy recibiendo este lugar:

erl -boot start_ssl 
Erlang R13B01 (erts-5.7.2) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false] 
1> whereis(ssl_server). 
undefined 
2> 

Así que, por ahora, los pasos restantes están fallando también. Lamentablemente, no hay documentación ni hilos de discusión en la web con el mismo problema.

¿Algún consejo?

+1

No tengo una respuesta para usted, pero puedo hacer algunos comentarios. Primero, el script de arranque necesita una extensión .rel, no .erl. En segundo lugar, BEAM 5.0 es realmente muy viejo, aproximadamente R7B, hace una década. Probablemente los problemas con los que te encuentres se deben a una falta de correspondencia entre cómo funcionaban las cosas hasta hace poco y cómo funcionan ahora. Sugiero preguntar en la lista de correo para ver si alguien que sabe cómo funcionan las cosas ahora puede actualizar los documentos. –

+0

Lo sentimos, el .erl fue un error de tipeo, corregido. El Beam 5.0 es de la documentación, estoy usando el que viene con B13B01 – scooterman

+0

Lo sé. Estoy diciendo que aparentemente esa página se tocó por última vez cuando R7 estaba al día, por lo que no es de extrañar que lo que dice ya no funcione. –

Respuesta

4

Bueno, después de algún intento y error, he conseguido iniciar el sistema:

application:start(ssl) 

y pasando todos los certificados al crear el socket de escucha

ssl:listen(Port, ?TCP_OPTIONS ++ [{ip, Host},{verify, 0}, 
             {depth, 0}, 
             {cacertfile, Cacertfile}, 
             {certfile, Certfile}, 
             {keyfile, Keyfile}]) 

Se trabajó :)

Cuestiones relacionadas