[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