我有一个配置了trustore的现有应用程序来连接到ldap
java -Djavax.net.ssl.trustStore=config/keystore.jks
-Djavax.net.ssl.trustStorePassword=p@ssw0rd -jar test.jar
然后我希望应用程序配置为使用https。我为此使用了单独生成的密钥库。由于我使用的是弹簧靴,我添加了以下内容:
java -Djavax.net.ssl.trustStore=config/keystore.jks
-Djavax.net.ssl.trustStorePassword=p@ssw0rd
-Dserver.ssl.key-alias=kstore2
-Dserver.ssl.key-store=config/kstore2.keystore
-Dserver.ssl.key-store-password=kstore2
-jar test.jar
当我运行时,我收到以下错误:
java.io.FileNotFoundException:
C:\Users.....\AppData\Local\Temp\tomcat.5....\config\keystore.jks
(The system cannot find the path specified).
如果我只使用-Djavax.net .....,它正在运行,但我回到了http。如果我只使用-Dserver.ssl ....运行,它可以工作,我可以获得https。但如果我和他们一起跑,我就得到了错误。
您正在使用信任库和密钥库的相对路径。您确定密钥库位于启动应用程序的config目录下吗?