Je ne peux pas comprendre le schéma général en utilisant des certificats. Par exemple: J'ai un compte sur le site Web. J'ai name
et password
. Que dois-je faire pour me connecter à ce site? - Je devrais ouvrir _https://website:443/login
et remplir les champs, et si tout va bien, j'obtiendrai l'admission.Comment puis-je utiliser le certificat de l'utilisateur?
Maintenant, je voudrais effectuer ces étapes par programme usin java + httpclient (apache). J'ai écrit:
client = new DefaultHttpClient();
client.getParams().setParameter(ClientPNames.COOKIE_POLICY,
CookiePolicy.BEST_MATCH);
client.setCookieStore(new BasicCookieStore());
client.getCredentialsProvider()
.setCredentials(new AuthScope(ADDRESS, new Integer(PORT)),
new UsernamePasswordCredentials(USERNAME, USERPWD));
et je créer trustStore avec le certificat du serveur:
System.setProperty("javax.net.ssl.trustStore", "./KeyStore/myca");
où 'myca' ont été faites avec 'InstallCert.java' - produit de dim.
Mais je voudrais effectuer toutes ces étapes par programme, comme navigateur (FFox, ou Opera) importer le certificat du serveur ... L'utilisateur veut juste utiliser uniquement mon application, pas un ensemble d'application supplémentaire.
Comment puis-je l'exécuter?
Et maintenant, le principal problème: pourquoi les serveurs ne nécessitent pas de certificat d'utilisateur? Et comment puis-je utiliser mon propre certificat pour m'authentifier? (Si j'ai un certificat d'utilisateur, je ne aurai pas besoin « name''password » pour se connecter au serveur?)