Создание сертификата для postfix'а.
Создать файл openssl.cnf, в котором будут лежать настройки, чтобы не вводить их ручками:
cd /etc/postfix touch openssl.cnfСодержимое файла openssl.cnf:
[req] default_bits = 4096 # Длинна ключа в битах. default_keyfile = key.pem # Имя файла, в который будет записан закрытый ключ. encrypt_key = no # Нам не нужно шифровать закрытый ключ паролем. default_md = sha512 # Алгоритм хеша. x509_extensions = v3_req # Включаем расширение V3. prompt = no # Не нужно запрашивать данные у пользователя, мы всё пропишем здесь. distinguished_name = req_distinguished_name # Имя секции с данными (может быть любым). [req_distinguished_name] C = Country # Двухбуквенный код страны L = Locality # Город O = Organization # Название организации CN = mail.example.com # Имя домена emailAddress = postmaster@example.com # Адрес электронной почты # Можно ещё указать следующие поля: # ST (State - штат, название провинции и т.п.) # OU (Organizational Unit - название подразделения) [v3_req] # Список альтернативных имён. Можно указать прямо здесь, но это не # удобно, особенно если их много, так что мы указываем название секции # с именами. subjectAltName = @alt_names [alt_names] # Имена. Можно указать хоть сколько, главное чтобы цифры после точки были разными. DNS.0 = example.com DNS.1 = www.example.comСоздание сертификата и закрытого ключа:
openssl req -new -x509 -days 36500 -config openssl.cnf -out cert.pem -outform PEM -keyout key.pem -keyform PEMЗначение опций:
req — команда создание запроса на сертификат
-new — создать новый запрос
-x509 — создать готовый самоподписанный сертификат, а не только запрос
-days 36500 — срок действия сертификата, в данном случае 100 лет
-config openssl.cnf — наш файл с настройками
-out cert.pem — в этот файл будет записан созданный сертификат, без этой опции сертификат будет выведен на стандартный вывод
-outform PEM — формат, в котором будет записан сертификат
-keyout key.pem — аналогично -out, но для файла закрытого ключа
-keyform PEM — аналогично -outform, но для файла закрытого ключа
Создание сертификата для courier-imap / imapd.
Создать файл imapd.cnf, в котором будут лежать настройки, чтобы не вводить их ручками:
cd /etc/courier-imap touch imapd.cnfСодержимое файла imapd.cnf (значения аналогичны openssl.cnf):
[ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type prompt = no default_md = sha1 [ req_dn ] C=Country L=Locality O=Organization CN=mail.example.com emailAddress=postmaster@example.com [ cert_type ] nsCertType = serverСоздание сертификата:
dd if=/dev/urandom of=/tmp/imapd.rand count=1 2>/dev/null openssl req -new -x509 -days 36500 -nodes -config /etc/courier-imap/imapd.cnf -out /etc/courier-imap/imapd.pem -keyout /etc/courier-imap/imapd.pem openssl gendh -rand /tmp/imapd.rand 512 >> /etc/courier-imap/imapd.pem openssl x509 -subject -dates -fingerprint -noout -in /etc/courier-imap/imapd.pem rm -f /tmp/imapd.rand
Создание сертификата для courier-imap / pop3d.
Создать файл pop3d.cnf, в котором будут лежать настройки, чтобы не вводить их ручками:
cd /etc/courier-imap touch pop3d.cnfСодержимое файла pop3d.cnf, в моем случае, полностью повторяет imapd.cnf.
Создание сертификата:
dd if=/dev/urandom of=/tmp/pop3d.rand count=1 2>/dev/null openssl req -new -x509 -days 36500 -nodes -config /etc/courier-imap/pop3d.cnf -out /etc/courier-imap/pop3d.pem -keyout /etc/courier-imap/pop3d.pem openssl gendh -rand /tmp/pop3d.rand 512 >> /etc/courier-imap/pop3d.pem openssl x509 -subject -dates -fingerprint -noout -in /etc/courier-imap/pop3d.pem rm -f /tmp/pop3d.rand
PS: Иногда бывает нужно посмотреть сертификат, "что там у него внутри"... Тут хорошо помогает команда:
openssl x509 -in cert.pem -noout -text | less
Информация с сайта http://blog.angel2s2.ru/.
Комментариев нет:
Отправить комментарий