2012-07-23 2 views
3

J'écris un simple client et un serveur en utilisant Go. Je ne veux pas payer pour un certificat SSL, et j'ai lu que les certificats auto-signés sont inutiles pour prouver l'identité, car un attaquant pourrait juste MITM et fournir son propre certificat auto-signé.Puis-je créer mon propre certificat racine à utiliser pour une connexion SSL avec Go? Est-ce sûr?

Cependant, j'ai appris que mon client peut utiliser les certificats racine que je veux. Puis-je créer le mien, faire confiance au client, signer un certificat pour mon serveur et me connecter de façon sécurisée tout en étant protégé des attaques MITM? Si oui, comment créer mon propre certificat racine?

+0

Sans l'avoir essayé, cela peut être utile: http://www.eclectica.ca/howto/ssl-cert-howto.php/ – jimt

Répondre

4

Un certificat auto-signé est un cas particulier de déploiement de votre propre PKI (poussé à l'extrême où vous n'avez qu'un seul certificat dans cette PKI).

Les deux peuvent être utilisés pour empêcher les attaques MITM, à condition que le client puisse vérifier le certificat du serveur à l'aide d'ancres approuvées (certificats) qu'il connaît à l'avance (et qui a été configuré avec confiance).

Vous pouvez créer votre propre autorité de certification et configurer votre client pour qu'il utilise son certificat d'autorité de certification racine ou, si vous avez un nombre limité de serveurs, vous pouvez généralement configurer les clients pour qu'ils approuvent directement un certificat spécifique.).

Vous pouvez être intéressé par ces questions pour des liens vers des outils:

Une fois que vous J'ai compris les principes de base, les aspects techniques ne sont pas nécessairement difficiles, mais une partie de la vraie difficulté est dans l'admin l'isolation de votre CA.

Questions connexes