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
Manu - 24 mars 2009 à 21:14
A voir également:
- Impossible de générer de clé privée à partir de openssl_pkey_new. vérifiez votre configuration openssl. le problème peut être lié au chemin vers openssl.cafile.
- Ethernet n'a pas de configuration ip valide - Guide
- Clé de produit windows 10 gratuit - Guide
- Clé usb non détectée - Guide
- Panneau de configuration - Guide
- Generer mot de passe - Télécharger - Sécurité
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
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
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
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
1 déc. 2008 à 16:29
le probleme etais resolu il fallait juste le faire accepter par le navigateur.Merci
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
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
[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
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
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
[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
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
29 nov. 2008 à 23:31
Quelqu'un à une idee
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
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
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
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
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 569
30 nov. 2008 à 11:08
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?
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?
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
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
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
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 569
>
Manu
30 nov. 2008 à 12:54
30 nov. 2008 à 12:54
Re,
Oups, j'ai lu en diagonale ;-)
Oups, j'ai lu en diagonale ;-)
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
Merci pour votre réponse
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
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