[Comm] Re: Q: openssl и сертификаты - теория vs. практика
Konstantin A. Lepikhov
=?iso-8859-1?q?lakostis_=CE=C1_anti-leasure=2Eru?=
Пт Дек 24 13:53:13 MSK 2004
Hi Alexey!
Friday 24, at 12:05:58 PM you wrote:
> Что-то у меня совсем мозг заклинило по поводу сертификатов и
> прочих CA...
>
> В теории всё выглядит так:
>
> Генерим CA Root для своей органицации (не хотим мы чужими CA пока
> подписываться)
>
> Генерим certificate request, подписываем его нашим CA и можем
> использовать, например, в imaps...
>
> На практике я с трудом понимаю как, например, проделать всю эту
> процедуру для cyrus-imapd... "Как" - имеется в виду "как
> правильно это делать в ALT"...
как описал перед этим, там и делать. В состав openssl есть прекрасный
скрипт CA.pl, который половину этой рутины делает за тебя. Подробности
CA.pl -help. Для cyrus/dovecot/monit лучше делать bundle сертификат, т.е.
"склеивать" ca-cert.pem, server-key.pem, server-cert.pem в один
сертификат. Например, у меня в cyrus прописано следующее:
/etc/cyrus-imapd/imapd.conf
...
tls_ca_file: /var/spool/cyrus-imap/server.pem
tls_cert_file: /var/spool/cyrus-imap/server.pem
tls_key_file: /var/spool/cyrus-imap/server.pem
Недостаток такого подхода - в случае продления сертификата/CA, придется
создавать server.pem по-новой.
Как я делал server.pem для cyrus:
1) запустил CA.pl -newca, заполнил/создал ca-cert.pem
2) запустил CA.pl -newcert, создал ключ/запрос на сертификат
3) запустил CA.pl -sign, подписал запрос, создал сертификат, добавил его в
базу.
4) избавился от пароля в ключе клиента (через openssl rsa -in key.pem -out
server-key.pem)
5) "склеил" server-key.pem, server-cert.pem, ca-cert.pem в один
server.pem, поставил его в cyrus.
аналогично делаются сертификаты для httpd/клиентов/кого-надо.
PS Для клиентов положил ca-cert.pem на видном месте, сгенерил
crl/настроил ocsp сервер.
>
> 1. Нужно ли что-нибудь курочить в /etc/openssl/openssl.conf и как
> кошерней это сделать?
.cnf - это шаблон, который настраивается по-вкусу (т.е. под себя и свою
организацию), либо создать свой .cnf на его базе и указывать его openssl
при генерации. Самый кошерный способ - это поставить CA (например, OpenCA,
и делать все через него, но для 2-3х сертификатов имхо безполезно).
> 2. Чем пользоваться для создания CA и сертификатов? Makefile из
> /var/lib/ssl/certs/ или CA.pl?
см. выше.
> 3. Может я ещё чего забыл? Например ca-bundle.crt с публичными
> CA?
а зачем он тебе для генерации?
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis на jabber.org
aka L.A. Kostis write to ==>mailto:lakostis на pisem.net.nospam
...The information is like the bank... (c) EC8OR
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : smime.p7s
Тип : application/x-pkcs7-signature
Размер : 2212 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/community/attachments/20041224/2e2d9b0a/attachment-0002.bin>
Подробная информация о списке рассылки community