Error
When a user tries to login on the server using SSL, TLS or SASL:
=CRASH REPORT==== 20-Dec-2004::13:35:22 === crasher: pid: <0.311.0> registered_name: [] error_info: {{badmatch, {error, "SSL_CTX_use_certificate_file failed"}}, [{ejabberd_c2s,init,1}, {gen_fsm,init_it,6}, {proc_lib,init_p,5}]} initial_call: {gen,init_it, [gen_fsm, <0.223.0>, <0.223.0>, ejabberd_c2s, [{gen_tcp,#Port<0.309>}, [{access,c2s},tls,{certfile,"./ejabberd/server.pem"}]], []]} ancestors: [ejabberd_c2s_sup,ejabberd_sup,<0.38.0>] messages: [] links: [<0.185.0>,<0.223.0>,#Port<0.375>] dictionary: [] trap_exit: false status: running heap_size: 610 stack_size: 21 reductions: 178 neighbours:
Explanation
The path to the SSL file you have specified on ejabberd.cfg is wrong. When a user tries to login using a supported and active encryption method, ejabberd tries to read the file but it cannot be found.
Solution
Specify the SSL file correctly in your ejabberd.cfg file. The best solution is to specify the full path instead of a relative one:
{listen, [{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}, starttls, {certfile, "/home/ejabberd/server.pem"}]}, {5223, ejabberd_c2s, [{access, c2s}, tls, {certfile, "/home/ejabberd/server.pem"}]},