20110502

startssl update certificate for ejabberd

давно уже просрочен сертификат на одном из подконтрольных мне ejabberd-емонов.
и вот решил воспользоваться услугой выдачи бесплатного сертификата от startssl.com да и подсунуть этот сертификат ентому самому демону.

процедуру регистрации и получения сертификата я расписывать не буду. и руководства есть и подсказки по ходу дела вполне осмысленные даются.

но вот сгенерировал я свой секретный ключ и сертификат. сохранил их. и что дальше?
ключ выглядит примерно так:

$ cat my.key
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,<шестнадцатиричные циферки>
<много-много шестнадцатиричных циферокок>
-----END RSA PRIVATE KEY-----
сертификат примерно так:
$ cat my.cert
-----BEGIN CERTIFICATE-----
<циферки, циферки>
-----END CERTIFICATE-----
ключ надо расшифровать:
$ openssl rsa -in my.key -out decrypted.key
чтоб выглядел он примерно так:
$ cat decrypted.key
-----BEGIN RSA PRIVATE KEY-----
<много-много шестнадцатиричных циферок>
-----END RSA PRIVATE KEY-----
пароль, естественно, спросят. тот, что вы вводили на сайте при генерации ключа.
последний штрих. нужен (не знаю, зачем, не силён в этих ваших криптографиях) некий сертификат с сайта startssl.com:
$ wget -q http://www.startssl.com/certs/sub.class1.server.ca.pem
$ cat sub.class1.server.ca.pem
-----BEGIN CERTIFICATE-----
<и ещё много циферок>
-----END CERTIFICATE-----

вот теперь всё готово для обновления сертификата.
делаем адскую смесь:
$ cat my.cert decrypted.key sub.class1.server.ca.pem > ejabberd.pem
и подсовываем её ejabberd-емону в качестве certfile.

доп. чтение: http://wiki.flexion.org/GetServerCertificateFromStartSSL.html#5.0

Комментариев нет: