especifica o certificado da CA no Dovecot

5

No Postfix, eu especifiquei minha chave privada, meu certificado e o certificado da minha CA

smtpd_tls_CAfile     = /etc/ssl/cacert.pem
smtpd_tls_key_file   = /etc/ssl/server.key
smtpd_tls_cert_file  = /etc/ssl/server.pem

No dovecot, existem apenas opções para especificar minha chave e meu certificado:

ssl_cert = </etc/ssl/server.pem
ssl_key = </etc/ssl/server.key

Como especifico o certificado da minha CA?

Atualização:

O problema é que, quando me conecto com o cliente à minha porta 993, recebo um erro de certificado. Usando openssl s_client -connect server:993 , recebo este erro:

verify return:1
verify error:num=27:certificate not trusted
verify return:1
verify error:num=21:unable to verify the first certificate
verify return:1

Eu não recebo este erro quando me conecto à porta 465 (Postfix):

openssl s_client -connect server:465
    
por Martin Vegter 24.07.2014 / 21:24

4 respostas

13

O que você precisa é de um certificado de cadeia. Você pode criar um assim:

cat /etc/ssl/server.pem /etc/ssl/cacert.pem > /etc/ssl/chain.pem

e, em seguida, use a cadeia como o certificado do servidor

ssl_cert = </etc/ssl/chain.pem
ssl_key = </etc/ssl/server.key

Agora, quando você se conectar com openssl s_client , não deverá receber erros (desde que tudo o resto esteja configurado corretamente)

    
por 24.07.2014 / 22:53
3

Em geral, o servidor oferece ao cliente solicitante o certificado do servidor, além de todos os certificados de autoridades de certificação intermediárias, para que o cliente possa corresponder o certificado superior da cadeia a um de seus certificados confiáveis (raiz). Isso vale para o apache, o dovecot e o postfix. O Dovecot não parece ter uma configuração para a cadeia de confiança, portanto, neste caso, a cadeia de confiança deve ser mesclada com o certificado do servidor e ser apontada por.

ssl_cert = </etc/ssl/server-plus-chain.pem

A ordem dos certificados é

  1. certificado de servidor
  2. certificados intermediários

O último certificado intermediário é emitido pelo certificado de raiz confiável que o cliente tem disponível.

    
por 19.10.2014 / 05:00
1

O certificado e a chave são necessários se o aplicativo funcionar como um servidor SSL, por exemplo, o certificado é aquele apresentado ao cliente. Uma lista de CA confiável é necessária se o aplicativo funcionar como um cliente SSL e, portanto, precisar verificar o certificado apresentado pelo servidor.

Embora o postfix funcione como servidor (aceitando emails) e como cliente (entregando emails para outro servidor de email), o dovecot é apenas um servidor e, portanto, não precisa de uma lista de CAs confiáveis.

    
por 24.07.2014 / 21:34
0

Certificados de CA se você tiver vários arquivos, é possível resolver os seguintes

ssl_verify_client_cert = yes
ssl_ca = </etc/ssl/myssl/startssl.pem 
ssl_ca = </etc/ssl/myssl/sub.class2.server.ca.pem
    
por 06.02.2016 / 02:39