Renovar el certificado digital SSL de un servidor Ejabberd IM

La instalación predeterminada del servicio ejabberd IM instala un certificado de un año de validez, para renovarlo de forma rápida y efectiva se recomiendan seguir los siguientes pasos.

El certificado /etc/ejabberd/ejabberd.pem tiene la clave privada + el certificado. Hacemos una copia del mismo para trabajar sobre el.

cp /etc/ejabberd/ejabberd.pem $HOME/SSL_pruebas
cd $HOME/SSL_pruebas

Eliminamos del fichero $HOME/SSL_pruebas/ejabberd.pem la parte del certificado, quedando unicamente la clave privada. Una vez realizado ese proceso renombramos el fichero.

mv ejabberd.pem ejabberd.key

Generamos un nuevo certificado con la clave privada de ejabberd (10 años).

openssl req -new -sha512 -key ejabberd.key -out ejabberd.csr -days 3650

Se firma el certificado (Certificado autofirmado).

openssl x509 -req -sha512 -days 3650 -in ejabberd.csr -signkey ejabberd.key -out ejabberd.crt

Generar de nuevo el fichero pem con la clave privada + certificado autofirmado.

cat ejabberd.crt ejabberd.key > ejabberd.pem

Ya se puede sustituir el certificado antiguo por el nuevo (Hacer un backup del antiguo es recomendable).

service ejabberd stop
mv /etc/ejabberd/ejabberd.pem $HOME/SSL_pruebas/ejabberd.pem_backup
cp $HOME/SSL_pruebas/ejabberd.pem /etc/ejabberd/
service ejabberd start