Когда заканчивается срок действия сертификата корпоративного ejabberd сервера встаёт вопрос о генерации нового сертификата. Несколько месяцев назад я вышел из положения путём установки ejabberd на виртуальную машину и переноса сертификата из неё на рабочий сервер. Но хотелось именно сгенерировать новый сертификат да ещё неплохо бы и с большим сроком действия.
Долго искал ответ на свой вопрос и сегодня в поисках ответа всётаки наткнулся на ответ.
Ответ был найден здесь:
https://adw0rd.com/2013/2/20/ejabber/Поскольку ответ на этот вопрос я искал долго, видел и на этом форуме вопросы которые так же остались без ответа.
Решил поделиться своей находкой по генерации нового сертификата для своего ejabberd сервера.
Новый сгенерированный сертификат был опробован на тестовом ejabberd сервере на ОС Xubuntu 18.04 LTS.
Для того чтобы сгенерировать новый сертификат достаточно выполнить следующее:
1. Переходим в каталог в котором будем генерировать сертификат
2. Выполняем комманду:
openssl req -new -x509 -nodes -newkey rsa:1024 -days 3650 -keyout privkey.key -out ssl.pem
Где 3650 - срок действия сертификата (можно поставить любое значение, например 365).
Отвечаем на вопросы предлагаемые программой генерации.
В результате получаем 2 файла privkey.key и ssl.pem
3. Теперь копируем содержимое privkey.key в ssl.pem:
cat privkey.key >> ssl.pem
4. privkey.key нам больше не нужен, можно его удалить.
Файл ssl.pem переносим на наш сервер, переименовываем его в ejabberd.pem (для ubuntu 14.04) или в server.pem (для ubuntu 18.04), назначаем права 744 и назначаем владельа и группу ejabberd.
Перезапускаем ejabberd:
sudo /etc/init.d/ejabberd restart
Всё, теперь пользователи могут принять новый сертификат при подключении.