Dovecot rejeitando certificado de cliente

3

Eu configurei o dovecot para usar a autenticação de certificado do cliente. Eu usei o CA.pl (wrapper openssl) para criar o certificado CA e assinar certs de cliente e servidor com isso (sem cadeia de certificados, o certificado CA é confiável no cliente) Eu defini o certificado como certificado CA no dovecot para a autenticação do cliente. Dovecot pede corretamente ao IceDove por certificados, mas após clicar em OK, ele falha com erro "O cliente não apresentou um certificado SSL válido".

Usar o openssl para testar manualmente a conexão IMAP também resulta nesse erro.

configuração dovecot: link

Eu tentei o certificado com CN = user1 e [email protected]. ambos falharam. Também defina o nome comum para ser nome de usuário em conf pvc ... não há diferença.

Eu não sei o que fazer, pois tudo isso é dito nos manuais e parece bastante simples e direto. Mas isso falha.

obrigado

Atualização 1: saída do comando openssl x509 -in certificate.crt -text -noout :

Certificate: Data: Version: 3 (0x2) Serial Number: 8e:3d:9b:7c:13:35:88:b7
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=IR, ST=Isf, O=Apps4you, CN=lnxsrv2
Validity
Not Before: Mar 1 10:45:32 2017 GMT
Not After : Mar 1 10:45:32 2018 GMT
Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd, CN=user1/[email protected]
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
--- Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: CA:FALSE
Netscape Comment: OpenSSL Generated Certificate
X509v3 Subject Key Identifier: ---
-----Output ommited-----

Atualização 2: este arquivo de configuração ligeiramente modificado também não funciona: link

Atualização 3:
Arquivo Verbose SSL Log:
link

    
por Mehran 01.03.2017 / 12:41

2 respostas

0

Eu encontrei a resposta, então eu pensei que deveria postar aqui também. (precisamente @ behrad-eslamifar fez:)

você deve acrescentar a CRL ao certificado de CA fornecido ao dovecot MESMO SE VOCÊ TIVER DEFINIDO ssl_require_crl = no

assim:

openssl ca -gencrl -out crlfile
cat crlfile >> cacert.pem
service dovecot restart

agradece a todos pelas sugestões. < 3

    
por 03.03.2017 / 15:39
0

Você precisa adicionar um X.509 Extension a este certificado para usá-lo na autenticação de clientes.

Em openssl.cnf , abaixo de [ usr_cert ] , pelo openssl.conf exemplo:

[ usr_cert ]
nsCertType = client, email

No entanto, supostamente o nsCertType é obsoleto e é necessário incluir também uma extensão X.509. Adicione então uma nova seção:

[ xpclient_ext]
extendedKeyUsage = 1.3.6.1.5.5.7.3.2

Para adicionar a extensão, você também precisará passar a opção -extensions xpclient_ext para openssl ao gerar o certificado.

The following extended key usage purposes are defined by RFC 3280:

serverAuth (1.3.6.1.5.5.7.3.1) -- TLS Web server authentication
clientAuth (1.3.6.1.5.5.7.3.2) -- TLS Web client authentication

Por favor, note que eu aconselho a adicionar o nsCertType e a extensão RFC 3280. Alguns softwares, principalmente o PfSense, ainda verificam nsCertType .

    
por 01.03.2017 / 22:11