The official ejabbered documentation instructs the user to generate a self-signed certificate like this:
openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout privkey.pem -out server.pem openssl rsa -in privkey.pem -out privkey.pem cat privkey.pem >> server.pem rm privkey.pem
That is based on the jabbered 2 documentation.
The first thing that caught my attention was the small key size. However, what concerns me more is that they are combining the public and private keys. Isn't the certificate (which in this case contains the public and private keys!) presented to the client upon connection, or does Jabber work differently somehow? How can I impliment TLS on ejabbered securely?