Miałem ten sam problem, a dla mnie to był problem ze sposobem, w jaki stworzyłem keystore. Zauważyłem, że używasz tego samego pliku, truststore.ts, zarówno dla truststore, jak i dla magazynu kluczy. To może działać, ale sugerowałbym używanie oddzielnych plików, aby uniknąć nieporozumień.
Stworzyłem już pliki .pem dla głównego urzędu certyfikacji i użytkownika mongo i mogłem z powodzeniem używać ich do łączenia się z powłoką mongo. Z tych, które stworzyłem truststore.jks i keystore.jks.
Najpierw, aby utworzyć truststore.jks, uruchomiłem:
keytool -import -alias root -storepass mypass -keystore truststore.jks -file rootca.pem -noprompt
Dla keystore.jks potrzebujesz zarówno klucza publicznego, jak i prywatnego, więc najpierw przekonwertuj plik PEM do formatu PKCS12, a następnie zaimportuj do 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