Java 服务器的 KeyStore 错误:找不到 BKS。

9

我在这一行遇到了一个错误:

final KeyStore keyStore = KeyStore.getInstance("BKS");

我收到的错误是:

java.security.KeyStoreException: BKS not found
    at java.security.KeyStore.getInstance(Unknown Source)
    at AppListen.<init>(AppListen.java:84)

我已将bcprov-jdk16-146.jar添加到“引用的库”中,但仍然没有成功。
我的整个程序使用SSL套接字连接,允许Android手机作为计算机的鼠标和键盘。Android应用程序与此行相同且没有错误。
我做错了什么?

编辑:

也许这对大多数人来说是常识,但对我来说并不是,所以对于像我这样的人来说,这就是我做的事情。
我之所以使用BKS是因为这是Android允许的唯一格式,但我不知道您只需要在Android侧使用它,您可以在服务器上使用另一种格式,然后复制密钥并将其转换为BKS以在Android上使用,从而消除了对BouncyCastle的需求。
我为服务器使用了JKS密钥,然后使用名为portecle的程序将该密钥的副本转换为BKS以在Android上使用。
1个回答

4

在项目中包含BouncyCastle库,并在代码中添加提供程序。

Security.addProvider(new BouncyCastleProvider());
KeyStore keyStore = KeyStore.getInstance("BKS");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接