Java: comment ajouter une authentification SSL côté client

J'ai ce code pour se connecter au serveur avec un client à l'aide de SSL, et maintenant je veux ajouter l'authentification côté client:

(J'ai un serveur de fichier de clés (JCEKS type) et un client du magasin de clés (JKS), le serveur utilise un truststore (cacerts) où j'ai importé les deux certificats, car je veux aussi utiliser cette truststore pour l'authentification du client)

Code Client:

System.setProperty("javax.net.ssl.trustStore", cerServer);
System.setProperty("javax.net.ssl.trustStoreType","JCEKS");
System.setProperty("javax.net.ssl.trustStorePassword", pwdCacerts);

SSLSocketFactory sslsocketfactory = (SSLSocketFactory)  SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("localhost", port);

Code Serveur:

KeyStore ks = LoadKeyStore(new File(serverKeyStore), pwdKeyStore, "JCEKS");
KeyManagerFactory kmf; 
kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(ks, pwdKeyStore.toCharArray());

SSLContext sc = SSLContext.getInstance("SSL");
sc.init(kmf.getKeyManagers(),null, null);   

SSLServerSocketFactory ssf = sc.getServerSocketFactory(); 
sslserversocket = (SSLServerSocket) ssf.createServerSocket(port);

merci d'avance pour toute aide.

edit:
J'ai ajouter ce code dans le côté serveur:

System.setProperty("javax.net.ssl.trustStore", cacerts);
System.setProperty("javax.net.ssl.trustStoreType","JKS");
System.setProperty("javax.net.ssl.trustStorePassword", pwdCacerts);

mais si je supprime le certificat du client dans le fichier cacerts, la connexion ne me donne pas d'erreur et que je pense que c'est le problème de cette façon

source d'informationauteur naxo