Bonjour,
Une petite question méthode.
J'ai une application cliente (Swing) d'un EJB. Les EJB sont sécurisés et le client effectue un login avec la classe ProgrammaticLogin pour accéder aux EJB.
Pour être bien "secure", la communication lors du login utilise SSL. Et donc le client dispose d'un TrustStore dans lequel le certificat du serveur (associé à un domaine Glassfish) a été importé.
Je lance donc mon client avec une ligne de ce genre:
java -jar client.jar -Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=password -Djava.security.auth.login.config=jaas.config
et c'est dans le fichier cacert.jks que j'ai importé le certificat du serveur, avec keytool en écrivant quelque chose comme ça:
keytool -import -alias s1as -file glassfish-cert.cer -keystore cacert.jks
où glassfish-cert.cer contient la clé publique issue du domaine glassfish.
Cette commande demande le mot de passe du keystore du client.
Et donc, ce que je voudrait faire, c'est réaliser cet "import" lors de la première connexion de l'application cliente avec le serveur, avec un dialogue du genre "connexion non certifiée, voulez-vous importer le certificat du serveur ?".
Est-ce possible ? Quelles sont les pratiques les plus répandues ? Avec quelles libraries java ? Le keystore doit-il être dans le compte utilisateur, rapport aux droits d'accès ?
Je suis preneur de tous conseils.
merci!
A.
Partager