在项目中包含信任库文件的位置

我正在尝试了解SSL并已成功创建通过SSL连接进行通信的客户端/服务器程序。 我已经生成了自己的信任库和密钥库文件,我希望我的客户端和服务器程序可以使用。 到目前为止,我可以使用以下命令通过命令行运行这两个程序:

java -Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456 ServerMain.java 

 java -Djavax.net.ssl.trustStore=mySrvKeystore -Djavax.net.ssl.trustStorePassword=123456 Client.java 

但是,我想知道是否有可能以某种方式将文件实现到我的项目中,以便将来当我将其构建到.jar文件中时,我可以将文件与它捆绑在一起。 以前,我通过将它们存储在我的项目文件夹中的res文件夹中并使用“/res/image.jpg”作为路径来完成与图像类似的操作,并且它工作正常。 我通过使用System.setProperty("javax.net.ssl.trustStore", "/res/mySrvkeystore.jks")尝试了相同的方法但它仍然保持返回找不到的文件。 任何帮助都会很棒! 谢谢!

  1. 将密钥库作为资源包含在JAR文件中,就像对图像所做的那样。
  2. 通过getResourceAsStream().访问它getResourceAsStream().
  3. 使用该InputStream加载KeyStore.
  4. 使用KeyStore初始化TrustManager.
  5. 使用TrustManager初始化SSLContext.
  6. 使用SSLContext创建SSLSocketFactory.
  7. 使用SSLSocketFactory创建SSLSocket.