2017-02-26 19 views
0

我认为这是一个基本的问题,但我无法找到任何关于它在互联网上。找到哪个JKS通过代码

我正在一个单一的应用程序中写一个小web服务。我想以编程方式找出正在使用哪个Java密钥库。

在我的POM文件,我可以看到这样的事情:

<artifactId>maven-surefire-plugin</artifactId> 
<version>2.16</version> 
<configuration> 
    <systemProperties> 
     <property> 
      <name>javax.net.ssl.trustStore</name> 
      <value>keystore/kc.jks</value> 
     </property> 
</configuration> 

现在是正在使用中的POM文件中提到的密钥库或内部Java之一。

注意:我想编写一些代码来查找哪个keystore,而不仅仅是检查某些配置。

回答

1

您的pom文件中的systemProperties设置仅适用于您的测试,并且仅适用于您还将surefire配置为fork的情况,这是您没有的。所以它没有效果。如果您设置了安全火,以便系统属性生效,您可以看到以下设置:

System.getProperty("javax.net.ssl.trustStore") 
+0

这总是为我返回null。我尝试了很多次。什么可能是它的原因。我如何从pom文件加载一个。我认为在pom文件中设置的东西会把它放到全球。 – orange14

+0

见编辑回答。 – bmargulies

+0

分叉不能与surefire一起工作。我很好奇为什么它不工作 – orange14