Наш почтовый сервер изначально был настроен с использованием самостоятельно созданных сертификатов. Однако, когда они истекли, и я попытался их воссоздать, все просто взорвалось. Поскольку я знаю, что это будет важно, мы запускаем сервер Debian и postfix.
Теперь я вижу эти ошибки в почтовых журналах:
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: cannot get certificate from file /etc/postfix/ssl/smtpd.cert
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:02001002:system library:fopen:No such file or directory:bss_file.c:352:fopen('/etc/postfix/ssl/smtpd.cert','r'):
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib:ssl_rsa.c:720:
May 15 08:06:34 letterpress postfix/smtpd[22901]: cannot load RSA certificate and key data
И при попытке получить доступ к электронной почте от клиента, такого как Thunderbird, из-за пределов нашей локальной сети, вы получаете сообщение «Невозможно подключиться к серверу smtp».
Я убедился, что файл /etc/postfix/ssl/smtpd.cert действительно существует. Текущий владелец файла: root:root
. Это нужно менять?
Ваш /etc/postfix/main.cf
будет содержать следующие три директивы.
smtpd_tls_cert_file=
smtpd_tls_key_file=
smtpd_use_tls=yes
Это говорит Postfix использовать TLS.
Вы можете снова заставить его работать, отключив TLS или создав новые сертификаты.
Отключение TLS
Создание новых сертификатов
Затем убедитесь, что он находится там, где он должен быть в соответствии с /etc/postfix/main.cfи перезапустите Postfix. Тебе должно быть хорошо.
Может показаться, что у вас проблема в "/etc/postfix/ssl/smtpd.cert": либо файл отсутствует, либо права доступа к нему неверны, либо формат сертификата внутри него недействителен.
У меня была такая проблема. Оказалось, что имя моего закрытого ключа было почтовым сервером.pem и все же в конфигурации postfix это был почтовый сервер.ключ. Я следил за учебником, в котором оба были с расширением .pem.
У меня также были и сертификат, и закрытый ключ, доступные для чтения только root, и я изменил это так, чтобы они были доступны для чтения как root, так и postfix (chown root: postfix filename; chmod 640 filename). Не уверен, нужен ли этот второй шаг.