Comment le client SSL valider le certificat du serveur?
Je suis la construction d'une application et je prévois utiliser OpenSSL pour la sécurisation des transferts de données.
Je prévois seulement avoir le client de valider le certificat du serveur. Je suis confus sur la façon dont je dois fixer le certificat du serveur. Je voudrais crypter le certificat du serveur contenant la clé privée, mais je ne veux pas utiliser tout codé en dur clés pour ce chiffrement.
Quelles sont les communes les pratiques suivies par les applications employant le protocole SSL?
Vous devez vous connecter pour publier un commentaire.
Juste pour s'assurer que nous avons notre terminologie, un "certificat SSL" dans le langage courant, est vraiment composé de deux éléments:
Le public certificat est signé par l'autorité de certification choisie (autorité de certification), après quoi il peut être distribué librement. Il n'a pas besoin d'être sécurisé ou crypté, et en effet, il sera envoyé aux clients qui se connectent à votre serveur dans le cadre de la négociation SSL.
La clé privée de la composante doit être protégé. Dans la majorité des cas, c'est simplement stockée dans un fichier chiffré sur le serveur. Haut de gamme, la solution dédiée "inviolable" crypto matériel (Hsm -- modules matériels de sécurité) pour stocker la clé privée. Ces services vont de la carte à puce des solutions de multi-touches, compatible réseau les appareils avec des m/n contrôles etc etc. Il y a des risques (pour ne pas mentionner les coûts) associés avec les Hsm que je ne vais pas entrer dans les ici.
De nombreuses applications conserver la clé privée sur le disque. Il ya un couple d'options pour fixer le fichier de clé:
Comme toujours, il y a un échange de sécurité. En particulier, si vous utilisez protégé par mot de passe de cryptage sur le fichier de clé privée et de l'expérience de l'inattendu redémarrage de l'application (par ex. panne de courant), alors quelqu'un doit être disponible pour fournir le mot de passe de l'application telle qu'elle redémarre. Stocker le mot de passe dans un fichier qui est lu par le système de scripts d'initialisation (comme encouragé par au moins deux serveur web de fournisseurs) ajoute que très peu en termes de sécurité réel. Il est difficile de vous recommandons de laisser le fichier de clé privée clair, mais si vous êtes le seul admin/techy dans une petite boutique, vous devriez certainement envisager ce qui pourrait se produire si le serveur redémarre lorsque vous n'êtes pas disponible, et que les coûts pourraient être de votre entreprise.
pas tout à fait sûr de ce que vous êtes en train de demander. le serveur cert est envoyé à vous, le client, la validation d'un cert par la vérification de la signature (utiliser SHA-1, MD5 MD5 a été fissuré.) La clé de l'autorité de certification est du côté du public, le CA et le serveur cert titulaire de garder leurs clés privées à eux-mêmes. Vous pouvez valider le cert parce que la clé publique est assez pour décrypter un message qui a été chiffré avec la clé privée. Si vous n'avez pas à vous inquiéter, sur le bon côté, sur le fait de garder le cert chiffré à tous.
Ont un look à la Article de wikipédia sur SSL/TLS.
Vous n'avez pas de fixer le certificat du serveur. C'est un document public
Le certificat du serveur ne contient pas la clé privée.
Vous n'avez pas besoin de faire du chiffrement. Le seul serveur actif vous avez besoin de protéger sa clé privée, ce qui est totalement distincte de son certificat. Dans le cas d'OpenSSL il peut même être un fichier différent.