Nir*_*jan 5 java ssl-certificate spring-boot
我正在为我的应用程序使用 Spring boot 1.2.7,并且作为一项要求,我必须从类路径加载 SSL 证书。所以,我在我的类路径中添加了我的 PKCS12 文件并使用以下代码(在AppInitializer类中加载它:
final String sslKeystoreFilepath = this.getClass().getClassLoader().getResource(sslKeystoreFilename).getFile();
Run Code Online (Sandbox Code Playgroud)
我在这里注意到两件事:
字符串包含file:在其中。如果我通过带有main方法的普通独立程序运行相同的代码,我将看不到类似file:.
当我运行 Spring Boot 应用程序(使用生成的 fat jar)时,它抛出异常说:
SEVERE: Failed to load keystore type PKCS12 with path /Users/my_user/Projects/my_app/build/libs/myapp-1.0-SNAPSHOT-dev.jar!/dev_keystore.p12 due to /Users/my_user/Projects/my_app/build/libs/myapp-1.0-SNAPSHOT-dev.jar!/dev_keystore.p12 (No such file or directory)
java.io.FileNotFoundException: /Users/my_user/Projects/my_app/build/libs/myapp-1.0-SNAPSHOT-dev.jar!/dev_keystore.p12 (No such file or directory)
我究竟做错了什么?
我认为您可以在 .properties 文件中添加此配置,如下所示,而不是获取字符串,
server.ssl.key-store: classpath:dev_keystore.p12
server.ssl.key-store-password: mypassword
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat
Run Code Online (Sandbox Code Playgroud)
如果您需要做现在正在做的事情,请告诉我,我会给出答案
| 归档时间: |
|
| 查看次数: |
10232 次 |
| 最近记录: |