Dans une poignée de main SSL, le but de trustStore sert à vérifier les informations d'identification. et le but de keyStore est destiné à fournir des informations d'identification .
keyStore
keyStore en Java stocke les clés privées et les certificats correspondant à leurs clés publiques et nécessite si vous êtes un serveur SSL ou si SSL requiert une authentification du client.
TrustStore
TrustStore stocke les certificats de tiers, votre application Java communique ou les certificats signés par les CA (autorités de certification comme Verisign, Thawte, Geotrust ou GoDaddy) qui peuvent être utilisés pour identifier un tiers.
TrustManager
TrustManager détermine si la connexion distante doit être fiable ou non, c'est-à-dire si la partie distante est bien celle qu'elle prétend être, et KeyManager décide des informations d'identification à envoyer à l'hôte distant pour l'authentification pendant la poignée de main SSL.
Si vous êtes un serveur SSL, vous utiliserez votre clé privée pendant l'algorithme d'échange de clés et enverrez au client les certificats correspondant à vos clés publiques, ces certificats étant acquis à partir du keyStore. Du côté du client SSL, s'il est écrit en Java, il utilisera les certificats stockés dans le trustStore pour vérifier l'identité du serveur. Les certificats SSL se présentent le plus souvent sous la forme suivante .cer qui est ajouté au keyStore ou au trustStore en utilisant n'importe quel utilitaire de gestion de clés, par ex. keytool .
Source : http://javarevisited.blogspot.ch