2017-08-29 4 views
0

Lorsque j'utilise un certificat auto-signe, j'ai créé un auto-CA. et un serveur.cer, server.cer est pour le service Web et auto-CA.Cer est ajouté dans le code client. Quand je vérifie le certificat, je vérifie si server.cer vient de ce self-CA.cer, n'est-ce pas? Mais, si j'achète un certificat CA, ce que j'ai seulement obtenu est un serveur.cer généré par CA, non? et le certificat CA peut générer beaucoup de server.cer, et ils sont tous de confiance, ce que j'ai obtenu est celui de ceux-ci. Dans mon code client, d'autres ont dit que je devais seulement changer mon http en https, c'est tout, après avoir acheté CA. mais comment puis-je distinguer quel certificat de serveur provient de mon propre serveur? Je veux seulement faire confiance au certificat de serveur de mon propre serveur.Après avoir acheté un certificat CA, puis-je également faire confiance au certificat de service d'autres sociétés généré à partir de ce certificat CA?

Répondre

0

si j'achète un certificat CA

vous ne pouvez pas acheter un certificat CA (avec une petite exception, ce qui est votre cas). Vous achetez un certificat d'entité finale qui ne peut pas être utilisé pour signer d'autres certificats. Il est contrôlé par un certificat Basic Constraints. Tout code de validation standard rejettera tout certificat signé par un certificat non-CA en raison de la valeur d'extension Basic Constraints (l'attribut isCA est défini sur False).

RFC 5280 -- Basic Constraints

+0

OP Stack signifie assez clairement un serveur/EE cert _from_ un 'réel' (public, établie) CA. Citation: "J'ai seulement ... server.cer [c'est-à-dire EE cert, pas un certificat racine comme avec DIY] ... de CA ' –

0

Si vous faites confiance à une autorité de certification que vous faites confiance à tous les certs qu'ils émettent (à moins périmé ou annulé) - voilà comment fonctionne PKI.

Si ce CA émet certs vers d'autres sites/serveurs, et vous faites HTTPS (ou autrement SSL/TLS ou DTLS) les connexions à ces autres sites/Severs, vous faire confiance à leurs certs et donc leur faire confiance. Mais si vous voulez que vous vouliez faire confiance uniquement au certificat spécifique délivré à votre serveur pour votre serveur, c'est automatique. Le certificat délivré à votre serveur contient votre nom de domaine, tandis que les certificats émis vers d'autres serveurs ont leurs noms (différents) et un client HTTPS comme un navigateur ne fait confiance qu'à un cert émis par un CA de confiance. et le nom du serveur correct, donc il ne fera confiance qu'à votre cert pour votre serveur, et ne fera confiance aux autres certificats que pour les autres serveurs auxquels ces certificats sont attribués.

Pour plus de détails, voir la Grande Ursine Epic https://security.stackexchange.com/questions/20803/how-does-ssl-work/