Re: [Gnus] Как добавить сертификат в список довернных для gnutls-cli?
Dmitrii Kashin -> debian-russian@lists.debian.org @ Sun, 25 Aug 2013 01:07:46 +0400:
DK> Поднял dovecot в качестве почтового сервера. Он автоматически
DK> сгенерировал самоподписанный сертификат. Теперь для того, чтобы
DK> зарегистрироваться на imap-сервере для получения почты, я должен
DK> открывать tls-соединение, используя этот сертификат.
DK> Проблема в том, что gnutls-cli не знает этого сертификата. И поэтому мой
DK> почтовый клиент gnus категорически отказывается читать мою почту. Как
DK> временное решение проблемы я дописал в конфиг:
DK> (setq starttls-extra-arguments '("--tofu"))
DK> Как я понимаю из gnutls-cli(1), эта опция дает указание поверить первому
DK> сертификату, а все остальные разы сверяться именно с ним. Однако мне это
DK> кажется небезопасным. В идеале я хотел бы поместить сертификат в
DK> /etc/ssl/certs, и заставить gnutls-cli сверяться с ним.
DK> Подскажите, как это сделать? Я уже пробовал помещать туда сертификат и
DK> проверял командой:
DK> gnutls-cli --starttls -s 143 <server>
DK> Но это не помогло. Быть может, я не установил какую-нибудь опцию?
Ну, для начала надо понимать, что самоподписанный сертификат _сервера_ -
это вообще неправильно, и gnutls вправе не принимать такой вариант за
правильный. Самоподписанный в норме бывает сертификат CA (certification
authority), на котором потом подписывают сертификаты серверов. Именно
сертификаты CA попадают в /etc/ssl/certs.
То есть надо самостоятельно сгенерировать ключ и сертификат CA (он
отличается от серверного назначением), сгенерировать ключ и заявку
серверного, и подписать заявку серверного, получив серверный сертификат.
Сертификат CA кладем к себе в /etc/ssl/certs, ключ от него надежно
прячем, чтобы враги не утащили, а ключ и сертификат серверного
(возможно, вместе с сертификатом CA) отдаем dovecot'у.
А вот ссылку на _современную_ актуальную инструкцию по созданию такого
комплекта я дать не готов. Из старого, но вероятно, все еще
работающего, рекомендую SSL Certificates Howto. Там делается средствами
openssl, но все довольно подробно разжевано.
Полезно понимать, что это, опять же в норме, не просто комплект ключей и
сертификатов (который сам по себе - инструмент, а не решение), а
_инфраструктура_. Отсюда некоторое усложнение процесса. Довольно
умеренное, если однажды дать себе труд прочесть тот howto от начала до
конца (он довольно длинный).
Reply to: