[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Error al usar certificado en Postfix



El Lunes, 24 de Octubre de 2005 20:54, Iñaki escribió:
|| Hola, he configurado Postfix para que use permita relay desde el exterior
|| previa autenticación tipo "LOGIN". Me funciona correctamente.
||
|| Ahora trato de usar TLS para dicho proceso de autenticación pero me sale
|| un error que no comprendo.
||
||
|| Si me conecto desde un ordenador remoto con telnet y hago "ehlo
|| mi_maquina" sale esto:
||
|| ************************************************************************
||   ehlo blablabla
||   250-correo.mi_maquina
||   250-PIPELINING
||   250-SIZE 10240000
||   250-VRFY
||   250-ETRN
||   250-STARTTLS
||   250-AUTH LOGIN PLAIN
||   250 8BITMIME
|| ************************************************************************
||
|| Entonces hago en el telnet:
||   STARTTLS
|| y me sale:
||   454 TLS not available due to local problem
||
||
||
|| En /var/log/mail.log me sale este error justo después del comando
|| STARTTLS:
||
|| ************************************************************************
|| mi_maquina postfix/smtpd[8479]: initializing the server-side TLS engine
||
|| mi_maquina postfix/smtpd[8479]: warning: cannot get private key from
|| file /etc/postfix/ssl/newreq.pem
||
|| mi_maquina postfix/smtpd[8479]: warning: TLS library problem:
|| 8479:error:0906D06C:PEM routines:PEM_read_bio:no start
|| line:pem_lib.c:637:Expecting: ANY PRIVATE KEY:
||
|| mi_maquina postfix/smtpd[8479]: warning: TLS library problem:
|| 8479:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM
|| lib:ssl_rsa.c:709:
||
|| mi_maquina postfix/smtpd[8479]: cannot load RSA certificate and key data
|| ************************************************************************
||
||
|| Los certificados los hice siguiendo los pasos de un Howto que resumo aquí:
||
|| 1) Crear una nueva autoridad certificadora: /usr/lib/ssl/misc/CA.pl -newca
|| 2 )Realizar la petición de un certificado: /usr/lib/ssl/misc/CA.pl
|| -newreq-nodes
|| 3) Firmar el certificado: /usr/lib/ssl/misc/CA.pl -sign
|| Con la salvedad de que no debemos añadir una palabra de paso al
|| certificado para que el servidor no se quede bloqueado esperándola al
|| iniciarse. Luego deberemos copiar tres de los ficheros resultantes del
|| proceso al
|| subdirectorio /etc/postfix/ssl/:
||      mkdir /etc/postfix/ssl
||      cp demoCA/cacert.pem /etc/postfix/ssl/
||      cp newcert.pem /etc/postfix/ssl/
||      cp newreq.pem /etc/postfix/ssl/
||      chown root /etc/postfix/ssl/newreq.pem
||      chmod 400 /etc/postfix/ssl/newreq.pem
||
||
||
|| En mi main.cf en lo referente a TLS tengo puesto:
||
|| ************************************************************************
|| #Uso de certificados:
|| smtpd_use_tls = yes
|| #smtpd_tls_auth_only = yes
|| smtpd_tls_key_file = /etc/postfix/ssl/newreq.pem
|| smtpd_tls_cert_file = /etc/postfix/ssl/newcert.pem
|| smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
||
|| smtpd_tls_loglevel = 3
|| smtpd_tls_received_header = yes
|| smtpd_tls_session_cache_timeout = 3600s
|| tls_random_source = dev:/dev/urandom
|| ************************************************************************
||
||
||
|| En fin, que he googleado y lo más reseñable que he encontrado es el código
|| en C de Postfix que emplea los certificados:
||   http://42.pl/postfix/postfix-2.2.2/src/tls/tls_certkey.c
|| Concretamente el error que me sale es aquí:
||
||   if (SSL_CTX_use_PrivateKey_file(ctx, key_file, SSL_FILETYPE_PEM) <= 0) {
|| 	msg_warn("cannot get private key from file %s", key_file);
|| 	tls_print_errors();
|| 	return (0);
||   }
||
|| Pero no tengo ni idea de cuál es el error.
||
||
||
|| En fin, ¿se os ocurre algo?
|| Reitero que salvo el tema del TLS todo lo demás funciona a la perfección.
||
|| Muchas gracias como siempre.


Bueno, añado que he probado a crear los certificados de distintas formas 
siguiendo distintas howto y el error que me da Postfix es el mismo:


************************************************************************
mi_maquina postfix/smtpd[8479]: initializing the server-side TLS engine

mi_maquina postfix/smtpd[8479]: warning: cannot get private key from
file /etc/postfix/ssl/newreq.pem

mi_maquina postfix/smtpd[8479]: warning: TLS library problem:
8479:error:0906D06C:PEM routines:PEM_read_bio:no start
line:pem_lib.c:637:Expecting: ANY PRIVATE KEY:

mi_maquina postfix/smtpd[8479]: warning: TLS library problem:
8479:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM
lib:ssl_rsa.c:709:

mi_maquina postfix/smtpd[8479]: cannot load RSA certificate and key data
************************************************************************


No sé qué puedo hacer mal, empiezo a pensar en la posibilidad de que se trate 
de un bug bien de OpenSSL, bien de lso scripts en Perl que crean el 
certificado o bien de Postfix, pero no estoy seguro de nada.

Si alguien ha conseguido en Postfix usar certificados TLS le agradecería que 
me comentara con qué versión de Debian, de Postfix y de OpenSSL, y cualquier 
otro detalle importante que considere importante.

Muchas gracias y un saludo a todos.


-- 
que a mí ni me va ni me viene... pero por comentar...



Reply to: