Openssl probleme de certificat

Résolu/Fermé
kakashi05 Messages postés 186 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 août 2011 - 29 nov. 2008 à 12:35
 Manu - 24 mars 2009 à 21:14
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
A voir également:

7 réponses

kakashi05 Messages postés 186 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 août 2011 32
30 nov. 2008 à 14:53
En faite le serveur apache c'est juste un petit exo que je suis entrain de faire chez moi histoire de reviser un peu

je vous explique un peu ce que j'ai eu à faire

j'ai editer le fichier suivant dans conf

#vi /etc/httpd/conf/httpd.conf

j'ai ajouter les lignes suivantes:

<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 j'ai ajouter un certificat avec la commande suivante

#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/httpd/conf/certificat.pem -out /etc/httpd/conf/server.key

puis j'ai toujours dans le fichier httpd.conf j'ai decommenté la ligne

LoadModule ssl_module modules/mod_ssl.so

puis j'ai editer le fichier vi /etc/hosts

127.0.0.1 www.secure.com

et lorsque je tape dans mon terminal
#firefox https://www.secure.com

j'ai le message d'erreur suivant et c'est vraiment lui qui me derange

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)

bon j'espere que vous avez compris un peu ma configuration je me dit peut etre que j'ai pas configurer quelque chose ou bien j'ai mal fait ma configure.

Si quelqu'un a une idee merci
1
kakashi05 Messages postés 186 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 août 2011 32
1 déc. 2008 à 16:29
le probleme etais resolu il fallait juste le faire accepter par le navigateur.Merci
1
kakashi05 Messages postés 186 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 août 2011 32
29 nov. 2008 à 12:36
Un autre point lors que fait

[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 ]

j'avais un petit conflit c'est regler

[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 je lance la commande de test c'est toujours le meme 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
0
kakashi05 Messages postés 186 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 août 2011 32
29 nov. 2008 à 13:02
Apres quelque modification j'obtiens

[root@localhost conf]# openssl s_server -cert certificat.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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kakashi05 Messages postés 186 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 août 2011 32
29 nov. 2008 à 23:31
Quelqu'un à une idee
0
Bonjour,

Je ne suis pas sûr d'avoir tout saisi, mais

Le certificat n'est pas sûr car il est auto-signé
veut dire que vous utilisez pour le serveur un certificat d'autorité de certification. Ces certificats ne doivent servir qu'à signer des certificats de serveur ou de client.

Dans openssl vous devez d'abord créer une autorité (certificat auto-signé), puis à l'aide de ce certificat vous devez créer le certificat du serveur. Ce dernier doit avoir le même nom que votre serveur (est-ce vraiment srv/www/secure.com votre propre serveur ?) et c'est la clé privée (et non le certificat) que vous devez mettre sur le serveur.

Vous avez aussi des problèmes de partage http(80)/https(443), mais je ne m'y connais pas.

Manu
0
Rebonjour,

Deux rectifications :
- sur le serveur vous devez mettre la clé privée et le certificat du serveur.
- le certificat du serveur doit être au nom du serveur, donc si j'ai bien compris www.secure.com

Manu
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
30 nov. 2008 à 11:08
Salut,

Une clé privée ne doit pas rester privée?
Ce n'est pas plutôt la clé publique qui doit être envoyée sur le serveur?
0
Manu > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
30 nov. 2008 à 12:41
Bonjour,

Une clé privée ne doit pas rester privée?
Ce n'est pas plutôt la clé publique qui doit être envoyée sur le serveur?


Bien sûr que la clé privée doit être privée, c'est-à-dire connue seulement de son propriétaire, ici le serveur.

Une clé de serveur sert à authentifier le serveur, c'est-à-dire permettre au client d'être sûr de ne pas s'adresser à un serveur non authentique. Dans la phase de connexion, le client envoie une information aléatoire, le serveur chiffre celle-ci avec sa clé privée et envoie au client la valeur chiffrée et le certificat (qui contient la clé publique). Le client peut vérifier le certificat parce qu'il est établi au nom du serveur et qu'il est signé par une autorité connue (*) et peut vérifier que le rechiffrement de la valeur chiffrée reçue redonne le nombre aléatoire initial. Le client est alors sûr que celui qui lui a répondu possédait la clé privée, donc que c'est le serveur authentique.

(*) j'ai oublié de dire que le certificat de l'autorité de certification doit être mis dans la magasin de certificats du client.

Manu
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > Manu
30 nov. 2008 à 12:54
Re,

Oups, j'ai lu en diagonale ;-)
0
seth > Manu
24 mars 2009 à 18:26
Bonjour, j'aurais une petite question: si le serveur crypte le message avec sa clé privée et le renvoie au client, n'importe qui peut intercepter ce message et le décrypter grâce à la clé publique du serveur...Non? De plus, est ce qu'on n'est pas censé crypter un message à envoyer avec la clé publique du destinataire? Je n'ai pas très bien suivi ce passage...
Merci pour votre réponse
0
Bonjour,

Bonjour, j'aurais une petite question: si le serveur crypte le message avec sa clé privée et le renvoie au client, n'importe qui peut intercepter ce message et le décrypter grâce à la clé publique du serveur...Non

Oui.

Mais, il s'agissait de la phase d'authentification réciproque, et le message dont il est question est une information aléatoire générée par le client. Quel bénéfice en tirerait un espion qui écouterait ? Seul le client peut comparer avec la valeur d'origine, ce qui lui permet de vérifier que son interlocuteur dispose de la clé privée dont il (le client) a la clé publique.

Manu
0