Problema de certificado OpenSSL
Resuelto
kakashi05
Mensajes publicados
195
Estado
Miembro
-
Manu -
Manu -
Bonjour,
j'essai de mettre en place un server apache sur Mandriva 2009 et j'aimerai bien utiliser un openssl apres voir creer un certificat et lorsque j'essai de me connecté un des mes VitrualHost en https j'ai le message d'erreur suivant:
www.secure.com:443 utilise un certificat de sécurité invalide.
Le certificat n'est pas sûr car il est auto-signé.
(Code d'erreur : sec_error_untrusted_issuer)
et lorsque je tapes la commande suivant pour verifier j'oubtiens
[root@localhost conf]# openssl s_server -cert certificat.pem -www
unable to load server certificate private key file
4464:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: ANY PRIVATE KEY
si quelqu'un a une idee merci
j'essai de mettre en place un server apache sur Mandriva 2009 et j'aimerai bien utiliser un openssl apres voir creer un certificat et lorsque j'essai de me connecté un des mes VitrualHost en https j'ai le message d'erreur suivant:
www.secure.com:443 utilise un certificat de sécurité invalide.
Le certificat n'est pas sûr car il est auto-signé.
(Code d'erreur : sec_error_untrusted_issuer)
et lorsque je tapes la commande suivant pour verifier j'oubtiens
[root@localhost conf]# openssl s_server -cert certificat.pem -www
unable to load server certificate private key file
4464:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: ANY PRIVATE KEY
si quelqu'un a une idee merci
Configuration: Linux Mandriva Firefox 3.0.3
7 respuestas
-
En realidad, el servidor Apache es solo un pequeño ejercicio que estoy haciendo en casa para repasar un poco.
Te explico un poco lo que tuve que hacer.
Edité el siguiente archivo en conf
#vi /etc/httpd/conf/httpd.conf
agregué las siguientes líneas:
<VirtualHost *:443>
DocumentRoot /var/www/secure.com
ServerName www.secure.com
SSLCertificateFile /etc/httpd/conf/certificat.pem
sslcertificatekeyfile /etc/httpd/conf/server.key
SSLEngine on
<Directory /var/www/secure.com>
Options +Indexes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
puis añadí un certificado con el siguiente comando
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/httpd/conf/certificat.pem -out /etc/httpd/conf/server.key
puis en el archivo httpd.conf quité el comentario de la línea
LoadModule ssl_module modules/mod_ssl.so
luego edité el archivo vi /etc/hosts
127.0.0.1 www.secure.com
y cuando escribo en mi terminal
#firefox https://www.secure.com
me aparece el siguiente mensaje de error y es realmente lo que me molesta
www.secure.com:443 utiliza un certificado de seguridad no válido.
El certificado no es confiable porque es autofirmado.
(Código de error: sec_error_untrusted_issuer)
bueno, espero que hayan entendido un poco mi configuración; me digo que quizá no haya configurado algo o lo haya hecho mal.
Si alguien tiene alguna idea, gracias. -
El problema estaba resuelto; solo hacía falta hacerlo aceptar por el navegador. Gracias
-
Un otro punto cuando se hace
[root@localhost conf]# /etc/init.d/httpd restart
Shutting down httpd: [ OK ]
Starting httpd: Warning: DocumentRoot /srv/www/secure.com does not exist
[Sat Nov 29 13:35:18 2008] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
[Sat Nov 29 13:35:18 2008] [warn] NameVirtualHost *:80 has no VirtualHosts
[ OK ]
tenía un pequeño conflicto se arregló
[root@localhost conf]# /etc/init.d/httpd restart
Shutting down httpd: [ OK ]
Starting httpd: Warning: DocumentRoot /srv/www/secure.com does not exist
[Sat Nov 29 13:35:18 2008] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
[Sat Nov 29 13:35:18 2008] [warn] NameVirtualHost *:80 has no VirtualHosts
[ OK ]
mais lorsque j’exécute la commande de test c’est toujours le même message
[root@localhost conf]# openssl s_server -cert certificat.pem -www
unable to load server certificate private key file
5373:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: ANY PRIVATE KEY -
Después de algunas modificaciones obtengo
[root@localhost conf]# openssl s_server -cert certificado.pem -www
unable to load server certificate private key file
6105:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: ANY PRIVATE KEY -
-
Hola, No estoy seguro de haberlo entendido todo, pero
El certificado no es seguro porque es autofirmado
significa que están usando para el servidor un certificado de autoridad de certificación. Estos certificados solo deben usarse para firmar certificados de servidor o de cliente.
En OpenSSL primero deben crear una autoridad (certificado autofirmado), y con este certificado deben crear el certificado del servidor. Este último debe tener el mismo nombre que su servidor (¿realmente srv/www/secure.com es su propio servidor?) y es la clave privada (y no el certificado) la que deben colocar en el servidor.
También tienen problemas de compartir http(80)/https(443), pero no soy experto.
Manu
-
-
Hola de nuevo,
Dos rectificaciones:
- en el servidor debes colocar la clave privada y el certificado del servidor.
- el certificado del servidor debe estar a nombre del servidor, por lo que si entiendo bien www.secure.com
Manu-
Hola,
¿Una clave privada no debe permanecer privada?
¿No es más bien la clave pública la que debe enviarse al servidor?
--
106485010510997108- Hola,
¿Una clave privada no debe permanecer privada?
¿No es más bien la clave pública la que debe enviarse al servidor?
Por supuesto que la clave privada debe ser privada, es decir, conocida solamente por su propietario, aquí el servidor.
Una clave de servidor sirve para autenticar el servidor, es decir, permitir al cliente estar seguro de no dirigirse a un servidor no auténtico. En la fase de conexión, el cliente envía una información aleatoria, el servidor cifra esa información con su clave privada y la envía al cliente en forma cifrada junto con el certificado (que contiene la clave pública). El cliente puede verificar el certificado porque está establecido a nombre del servidor y está firmado por una autoridad conocida (*) y puede verificar que el rechifrado del valor cifrado recibido devuelve el número aleatorio inicial. El cliente está entonces seguro de que quien le respondió poseía la clave privada, por lo tanto que es el servidor auténtico.
(*) me olvidé de decir que el certificado de la autoridad de certificación debe estar en el almacén de certificados del cliente.
Manu - Hola, tengo una pequeña pregunta: si el servidor cifra el mensaje con su clave privada y lo devuelve al cliente, ¿cualquiera puede interceptar este mensaje y descifrarlo gracias a la clave pública del servidor…¿No? Además, ¿no se supone que hay que cifrar un mensaje a enviar con la clave pública del destinatario? No lo he seguido muy bien ese pasaje…
Gracias por tu respuesta
-
-
Hola,
Hola, ¿tendría una pequeña pregunta: si el servidor cifra el mensaje con su clave privada y lo devuelve al cliente, cualquiera podría interceptar este mensaje y descifrarlo gracias a la clave pública del servidor...No
Sí.
Pero, se trataba de la fase de autenticación recíproca, y el mensaje del que se habla es una información aleatoria generada por el cliente. ¿Qué beneficio obtendría un espía que escuchara? Solo el cliente puede compararla con el valor original, lo que le permite verificar que su interlocutor posee la clave privada de la que él (el cliente) tiene la clave pública.
Manu