J'ai démarré un projet basé sur la communication du serveur client dans Java. Ce que je fais est le client et le serveur ont leurs propres certificats autosignés. Dans la communication initiale, le client et le serveur échangeront leurs certificats. Le serveur doit vérifier le certificat des clients et accorder l'authentification. Où j'ai frappé était sur quel serveur de sujet peut valider ou invalider un client particulier ..? Je suis incapable de procéder à partir d'ici. Alors s'il vous plaît l'un de vous peut donner une brève explication à ce sujet? Si possible, un pseudo-code en java ..?Authentification basée sur le certificat auto-signée
Répondre
auto-signé certs ne peuvent pas être validées par des méthodes normales PKI - à savoir, vérifier les chaînes cert jusqu'à un point d'ancrage de confiance, ne figure pas sur une liste de révocation, etc.
Lorsque vous utilisez l'auto signé certs, la configuration initiale impliquent généralement l'utilisation d'un mécanisme hors bande pour échanger les certificats et les empreintes digitales afin de les vérifier. Ces certs peuvent ensuite être ajoutés à un magasin de confiance et utilisés par votre application. Bien sûr, ce processus hors-bande devra être répété chaque fois que l'un des certificats auto-signés est renouvelé. Cette approche peut convenir à quelques applications qui ont besoin de communiquer en toute sécurité, mais il est assez évident que l'approche des certificats autosignés ne s'adapte pas.
Une autre approche consisterait à utiliser quelque chose comme le wrapper openssl CA.pl pour configurer une mini-CA et émettre des certificats clients. Ces certs émis seraient alors tous liés à la racine unique. Cette racine doit toujours être communiquée de manière sécurisée à toutes les parties utilisatrices, mais pas aux autres certificats émis par l'autorité racine.
MISE À JOUR: (en réponse à la question dans les commentaires ci-dessous)
Voici quelques façons d'obtenir une empreinte cert:
- utilisant OpenSSL: OpenSSL x509 -sha1 -dans cert.pem - noout -fingerprint
- sur les fenêtres enregistrer en tant que fichier .cer puis aller double-cliquez ensuite sur l'onglet détails
- utilisant cet outil: online cert decoder
Pour améliorer la sécurité, le propriétaire du certificat peut utiliser un outil différent du vérificateur de cert.
- 1. Authentification basée sur le certificat Java
- 2. Authentification basée sur les formulaires
- 3. Authentification d'utilisateur basée sur Java
- 4. Test d'un service Web (RESTful WCF) avec authentification basée sur certificat
- 5. Authentification du certificat WCF sans installation sur le client
- 6. Authentification basée sur les formulaires en Java
- 7. Authentification basée sur les certificats et IP
- 8. Création d'une authentification basée sur http
- 9. Autorisation/authentification basée sur les rôles/permissions?
- 10. Authentification CodeIgniter basée sur Doctrine/système acl
- 11. WCF Authentification par certificat client
- 12. Authentification basée sur les revendications avec STS basé sur JAVA?
- 13. WCF wsHttpBinding avec authentification de certificat sur plusieurs machines
- 14. iPhone: authentification par certificat client HTTPS
- 15. Authentification basée sur un formulaire - Echec de la connexion
- 16. Authentification WCF Web Service basée sur des groupes AD
- 17. Apache/Tomcat - Authentification LDAP basée sur l'appartenance au groupe AD
- 18. Authentification basée sur les rôles utilisant LDAP dans ASP.Net
- 19. Rails: Authentification par session unique basée sur l'authentification
- 20. validation basée sur l'annotation basée sur le haricot
- 21. comment implémenter une authentification basée sur la fenêtre pour le service Web
- 22. (JSF) authentification basée sur le formulaire avec ma propre gestion des utilisateurs
- 23. Authentification sur le service odata
- 24. Authentification sur le site ASP.NET
- 25. Identité ActiveMQ et Client par authentification de certificat
- 26. Sécurité basée sur le module
- 27. Application basée sur le bureau
- 28. Nouveau certificat sur le proxy inverse Squid
- 29. Informations sur le certificat par programme
- 30. Authentification WCF sur Internet
Merci beaucoup .. J'ai quelque chose .. Je voudrais savoir comment pouvons-nous vérifier en utilisant des empreintes digitales pour authentifier les clients. Je ne souhaite pas utiliser d'autorité de certification tierce dans mon application. Donc, je n'utilise pas de certificats OpenSSL. Comment pouvons-nous authentifier les clients en utilisant Thumbprint? –
@Tadi Vijay Kumar: J'ai ajouté quelques informations sur la façon d'obtenir une empreinte digitale de certificat. J'espère que cela t'aides. – bignum