2010-02-05 2 views
9

Версия Erlang: R13B01Настройка Erlang для работы с SSL

В настоящее время я изо всех сил пытаюсь заставить Erlang работать с SSL. Компонент программирования был прост, но теперь запуск системы с поддержкой SSL - нет.

Вслед за Erlang SSL documentation:

1 - Сделано файл 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 - Executed следующую команду

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

Согласно документации, запуск оболочки будет выходной это (этот вывод из документов, а не моих):

$ 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> 

Но, я получаю вместо этого:

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> 

Таким образом, на данный момент, то оставшиеся шаги не удается слишком. К сожалению, в Интернете нет документации и нитей форума с той же проблемой.

Любые советы?

+1

У меня нет ответа для вас, но я могу сделать некоторые комментарии. Во-первых, для сценария загрузки требуется расширение .rel, а не .erl. Во-вторых, BEAM 5.0 действительно, действительно старый - примерно R7B, десять лет назад. Вероятно, проблемы, с которыми вы столкнулись, связаны с несоответствием между тем, как все работает раньше и как они работают. Я предлагаю рассказать в списке рассылки, чтобы узнать, может ли кто-то, кто знает, как теперь работать, обновить документы. –

+0

Извините, .erl был типичной ошибкой, исправленной. Beam 5.0 из документации, я использую тот, который поставляется с B13B01 – scooterman

+0

Я знаю. Я говорю, что эта страница, по-видимому, в последний раз была затронута, когда R7 был актуальным, поэтому неудивительно, что он говорит, что больше не работает. –

ответ

4

Ну, после некоторых проб и ошибок, мне удалось запустить систему:

application:start(ssl) 

и передавая все сертификаты при создании слушающего сокета

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

Он работал :)

Смежные вопросы