J'ai eu le même problème, et pour moi, cela s'est avéré être un problème avec la façon dont j'ai créé le magasin de clés. Je remarque que vous utilisez le même fichier, truststore.ts, pour le truststore et le keystore. Cela peut fonctionner, mais je suggérerais d'utiliser des fichiers séparés pour éviter toute confusion.
J'avais déjà créé des fichiers .pem pour l'autorité de certification racine et pour l'utilisateur mongo, et j'ai pu les utiliser avec succès pour me connecter au shell mongo. À partir de ceux-ci, j'ai créé truststore.jks et keystore.jks.
Tout d'abord, pour créer truststore.jks, j'ai lancé :
keytool -import -alias root -storepass mypass -keystore truststore.jks -file rootca.pem -noprompt
Pour keystore.jks, vous avez besoin à la fois des clés publiques et privées. Convertissez donc d'abord le fichier PEM au format PKCS12, puis importez-le dans un JKS :
openssl pkcs12 -export -out myuser.pkcs12 -in myuser.pem -password pass:mypass
keytool -importkeystore -srckeystore myuser.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS -deststorepass mypass -srcstorepass mypass