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...

