默认信任存储在javax.net.ssl.trustStore之前加载设置
问题描述:
我正在使用以下代码来设置我的信任存储文件路径和密码。但是,在我的系统属性设置之前,默认的信任存储(cacerts)正在加载。最终,我的信任库确实已加载,但系统似乎无法识别我的信任库中的证书。我不想在命令行上使用-Djavax.net.ssl.trustStore,因为我希望路径和密码来自属性文件。默认信任存储在javax.net.ssl.trustStore之前加载设置
System.setProperty("javax.net.ssl.trustStore", path_from_application_properties);
System.setProperty("javax.net.ssl.trustStorePassword", password_from_application_properties);
我一直无法弄清楚调用链中信任存储区首次加载的位置以及如何在发生之前获取系统属性集。
我正在使用Spring Boot 1.5.4。
答
您必须在做任何明示或暗示创建SSLContext
之前设置这些属性。