为AsyncHttpClient设置SSLContext - 无法读取密钥库文件

时间:2015-05-14 00:40:21

标签: rest playframework ssl-certificate

我需要在我的播放应用程序中使用AsyncHttpClient来对https协议进行POST()调用。我正在使用播放2.2.x版本。 我尝试了下面问题的第一个答案中提到的@Esfand的代码,但是java.io.FileNotFoundException失败了。

How to use Play WS with SSL?

这是我做的: 1)我使用keytool命令在我的C盘上生成keyStore ..这样的事情

keytool -import -trustcacerts -alias mypublickey -file“” - keystore“c:\ mypublicstore.jks”

它将文件存储在名为mypublicstore.jks的C驱动器上“(注意末尾的双引号)

2)然后我使用以下代码来阅读

    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    KeyStore keyStore = KeyStore.getInstance("JKS");
    InputStream inputStream = new FileInputStream("C:\\mypublicstore.jks\"");
    String certPass = Play.application().configuration().getString("certificate.password");
    keyStore.load(inputStream, certPass.toCharArray());
    keyManagerFactory.init(keyStore, certPass.toCharArray());


    But it is failing at line 3 of the code. It can not find the file on the system. I tried reading another file on the same location and it works fine then why it can not read jks" type of file? Am I doing something wrong here?

在FileInputStream中,我应该给出密钥库路径或证书路径?         感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我发现AHC不能与play 2.2.x版本一起使用。我需要升级到2.3.x版本。