Tôi đã gặp vấn đề tương tự, và đối với tôi, nó hóa ra là vấn đề với cách tôi tạo kho khóa. Tôi nhận thấy rằng bạn đang sử dụng cùng một tệp, truststore.ts, cho cả kho tin cậy và kho khóa. Điều này có thể hoạt động, nhưng tôi khuyên bạn nên sử dụng các tệp riêng biệt để tránh nhầm lẫn.
Tôi đã tạo các tệp .pem cho CA gốc và cho người dùng mongo và đã có thể sử dụng thành công chúng để kết nối với mongo shell. Từ những người tôi đã tạo truststore.jks và keystore.jks.
Đầu tiên, để tạo truststore.jks, tôi đã chạy:
keytool -import -alias root -storepass mypass -keystore truststore.jks -file rootca.pem -noprompt
Đối với keystore.jks, bạn cần cả khóa công khai và khóa riêng, vì vậy trước tiên hãy chuyển đổi tệp PEM sang định dạng PKCS12, sau đó nhập sang 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