Eu usei o OpenSSL para criar uma chave privada e um certificado público autoassinado. Em seguida, criei um arquivo de autoridade de certificação que contém a chave privada e o certificado público (mail.example.com.pem). Em um computador cliente na LAN, eu uso o OpenSSL para me conectar ao Postfix na porta 587 (SMTP), e digo ao OpenSSL para usar o arquivo da Autoridade de Certificação (mail.example.com.pem).
openssl s_client -connect mail.example.com:587 -starttls smtp -CAfile /etc/pki/tls/private/mail.example.com.pem
Isso produz um pouco de saída. Incluído na saída está o certificado público do arquivo da Autoridade de Certificação.
DepoisdetodooTLS,certificadoeoutrasinformaçõesdesegurança,eutenhoumcursorpiscando,entãoeutentodizerOláaoPostfix.
EHLOmail.example.com
Estecomandoproduz"nenhum certificado de cliente apresentado".
Isso é estranho, porque posso literalmente ver o certificado público na saída anterior. Tenho a sensação de que estou faltando algo conceitual aqui. Por exemplo, preciso informar ao cliente para enviar ou usar o certificado público? O certificado público no servidor Postfix é diferente de um certificado de cliente?
Meta: Meu objetivo geral é configurar o Postfix para criptografar e-mails em vez de enviar e-mails sem criptografia.
Aqui está a saída do comando postconf -n :
data_directory = /var/lib/postfix
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailbox_command =
mydestination = example.com, localhost.example.com, localhost
mynetworks_style = host
queue_directory = /var/spool/postfix
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = no
smtpd_sasl_path = private/auth
smtpd_tls_CAfile = /etc/pki/tls/mail.example.com.pem
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/pki/tls/mail.example.com.crt
smtpd_tls_key_file = /etc/pki/tls/mail.example.com.key
smtpd_tls_loglevel = 3
smtpd_tls_req_ccert = yes
smtpd_tls_security_level = encrypt
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_cache
smtpd_tls_session_cache_timeout = 3600s
tls_random_exchange_name = /var/lib/postfix/prng_exch
tls_random_source = dev:/dev/urandom