>Срочно нужно сделать сертификат для imap-2001c.
>Незнаю как правильно его сделать чтобы почта забиралась по ssl
>Забираю ее командой fetchmail --ssl со своего сервера. Но работает только с
>тем сертификатом который лежит в доке по imap-2001c.
>
>Пробовал делать с помощью программки CA.pl ниче дельного не выходит.
>Система ASPLinux 7.2 посмотреть внимательно какая директория была указана при сборке для
хранения сертификатов imap:
1. Создаем заготовку конфига openssl.cnf (название любое)
в ней все прозрачно, но by defaul строки:
---------------------------- quote for dialog -------------------------------
[ req_dn ]
countryName = Country Name (2 letter code)
countryName_default = NO
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Some-State
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = FooBar Inc.
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default =
0.commonName = Common Name (FQDN of your server)
1.commonName = Common Name (default)
1.commonName_value = localhost
---------------------------- end of quote ------------------------------------
заставляют в диалоге заполнять поля по шаблону.
Тонкость в том, что в filename.cnf, чтобы избежать диалога, необходимо
добавить строку:
prompt = no
а секцию req_dn заполнить реальными значениями, указание на которую задается в:
distinguished_name = req_dn
То есть если наши реальные значения будут в секции my_data, то необходимо
distinguished_name = my_data, в этом случае значения будут браться из секции:
[ my_data ]
...
...
real parameters
---------------------------- cut stunnel.cnf ---------------------------------
HOME= .
RANDFILE = $ENV::HOME/.rnd
[ req ]
default_bits = 1024
encrypt_key = yes
#--lavr, указание секции с реальными значениями
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
#[ req_dn ]
#countryName = Country Name (2 letter code)
#countryName_default = NO
#countryName_min = 2
#countryName_max = 2
#
#stateOrProvinceName = State or Province Name (full name)
#stateOrProvinceName_default = Some-State
#
#localityName = Locality Name (eg, city)
#
#0.organizationName = Organization Name (eg, company)
#0.organizationName_default = FooBar Inc.
#
#organizationalUnitName = Organizational Unit Name (eg, section)
##organizationalUnitName_default =
#
#0.commonName = Common Name (FQDN of your server)
#
#1.commonName = Common Name (default)
#1.commonName_value = localhost
#--lavr пример генерации сертификата для сайта artefakt, заменить на свои
# C, ST, L, O, OU... - сокращения для countryName, stateOrProvinceName
# и тд и тп
# CN (commonName) - полное имя почтового сервера!!!
[ req_dn ]
C=RU
ST=Moscow Region
L=Dubna Town
O=Artefakt Co.
OU=Artefakt CA
CN=artefakt.ru
Email=lavr@dubna.ru
[ cert_type ]
nsCertType = server
------------------------------ end of cut ------------------------------------
2. После того как конфиг готов, выполняем пару команд и сертификат в кармане:
- создание сертификата (продолжительностью 999 дней):
openssl req -new -x509 -days 999 -nodes -config stunnel.cnf -out stunnel.pem -ke
yout stunnel.pem
- просмотр сертификата:
openssl x509 -subject -dates -fingerprint -noout -in stunnel.pem
3. Проверка работы сервиса через SSL:
openssl s_client -connect hostname:port -state -debug
- hostname - имя хоста или fqdn
- port - соответствующий порт сервиса с ssl: 443 или 993 или 995
для /etc/inetd.conf:
# example entry for the optional imap4 server
#
imap4 stream tcp nowait root /usr/local/libexec/imapd imapd
imaps stream tcp nowait root /usr/local/libexec/imapd imapd
тоже и для pop'а
выдать HUP inetd демону и проверить как описано выше, если imap собран
с pam, выполнить соответствующие изменения в своем PAM