web-dev-qa-db-fra.com

Comment utiliser les clés privées et publiques?

Je suis nouveau sur les certificats SSL, je voulais en savoir plus sur les certificats SSL, et j’ai généré moi-même des clés privées et publiques alors que je me connectais à cpanel, je me demande comment les utiliser et créer une connexion sécurisée à mon site. J'ai mes clés publiques et privées. clés mais comment les utiliser? Quelqu'un peut-il recommander une belle page ou quelqu'un peut-il m'apprendre cela? Merci d'avance

4
Nishchal Gautam

Vous pourriez trouver Les premières quelques millisecondes d'une connexion HTTPS par Jeff Moser une lecture utile. Il fournit une explication détaillée de ce qui se passe sur le réseau lorsqu'un navigateur établit une connexion HTTPS avec un serveur.

Cet intéressant vidéo illustre la cryptographie à clé publique en mélangeant des couleurs de peinture!

Vous devriez également consulter l'outil de ligne de commande OpenSSL . Vous pouvez l'utiliser pour: générer des paires de clés, générer des certificats, configurer une mini autorité de certification, exécuter un serveur utilisant l'un des certificats générés, vous connecter à un serveur SSL et obtenir des informations détaillées sur sa configuration SSL et les certificats utilisés. Consultez le HOWTO sur la ligne de commande OpenSSL pour de nombreux exemples de ce que vous pouvez faire avec OpenSSL.

Vous pouvez également utiliser des outils en ligne tels que ceux-ci pour obtenir des informations détaillées sur le certificat d'un site Web Internet et sa configuration SSL:

En ce qui concerne la configuration de SSL dans votre environnement, cela dépend du serveur Web que vous utilisez et/ou de votre fournisseur d'hébergement. Par exemple, vous pouvez essayer de rechercher Google dans "Configuration de SSL sur" + le nom de votre serveur Web ou de votre hôte, par exemple, "Configuration de SSL sur Apache". En outre, la plupart des autorités de certification (Verisign, par exemple) fournissent généralement de bonnes informations sur la configuration de divers serveurs et applications Web afin d’utiliser SSL.

6
PhilR

Les certificats utilisés pour HTTPS sont des certificats X.509 (ils sont les seuls mentionnés dans la spécification HTTP over TLS , c'est-à-dire HTTPS).

Un certificat (serveur) est une information utilisée pour prouver l'identité du serveur au client. C'est la combinaison entre une clé publique et diverses informations (principalement l'identité du propriétaire de la paire de clés, quel que soit le contrôle de la clé privée), cette combinaison étant signée à l'aide de la clé privée de l'émetteur du certificat.

Faire confiance à un certificat signifie que vous faites confiance à son contenu, en particulier à la confiance que la clé publique appartient à l'identité représentée dans le certificat. Du point de vue du serveur, l'identité sera le nom du serveur (voir RFC 2818, section 3.1 ou RFC 6125). Les certificats sont en principe des informations publiques.

Lorsque la clé privée du serveur (pas nécessairement la clé privée de l'émetteur) est utilisée, l'échange de clé SSL/TLS authentifié a lieu. Au cours de cet échange de clés, selon que vous utilisiez l'échange de clés RSA ou Diffie-Helman (selon la suite de chiffrement, DH est assez courant de nos jours), la clé privée sera soit utilisée pour déchiffrer une information que le client a été crypté avec la clé publique du certificat (RSA) ou utilisé pour signer une information générée par le serveur (DH). Quoi qu'il en soit, c'est ce qui prouve au client que la partie distante possède la clé privée de ce certificat. À la fin des mécanismes d’échange de clés, le client et le serveur utilisent une clé partagée. ( Cette question pourrait présenter un intérêt pour l'échange de clés, bien qu'il soit probablement préférable de lire la spécification TLS elle-même, éventuellement plusieurs fois ...)

Une fois que vous avez les deux, c’est-à-dire faire confiance au lien entre la clé publique et l’identité (en vérifiant le certificat) et en sachant que la partie distante possède la clé privée pour la clé publique dans ce certificat, vous savez que la partie distante est bien le serveur dont l’identité est décrit dans le certificat (dans le nom alternatif du sujet ou, s'il est absent, dans le nom commun du nom distinctif du sujet).

Vous pouvez également être intéressé par cette réponse à "Qu'est-ce qui sécurise SSL?" .

Si vous souhaitez essayer cela vous-même pour un site Web, vous aurez besoin de plus qu'une clé publique, vous devrez créer un certificat, éventuellement un certificat auto-signé ou via votre propre autorité de certification. Assurez-vous que le nom d'hôte que vous utilisez se trouve au moins dans le nom commun de votre nom distinctif de sujet ou mieux, dans une entrée DNS de nom alternatif de sujet. Il existe plusieurs didacticiels permettant de créer des certificats auto-signés avec OpenSSL, par exemple. Le CA.pl d'OpenSSL (voir la page de manuel) peut également être utile si vous souhaitez créer votre mini-autorité de certification.

2
Bruno