java服务器上的密钥库错误:找不到BKS

java服务器上的密钥库错误:找不到BKS,java,ssl,keystore,jsse,Java,Ssl,Keystore,Jsse,我在这一行上得到一个错误: 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) java.security.Ke

我在这一行上得到一个错误:

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)
java.security.KeyStoreException:找不到BKS
位于java.security.KeyStore.getInstance(未知源)
在AppListen。(AppListen.java:84)
我将bcprov-jdk16-146.jar添加到“引用库”中,但仍然没有成功

我的整个程序允许安卓手机用作使用SSL套接字连接的计算机的鼠标和键盘。android应用程序有相同的行,没有错误

我做错了什么


编辑: 也许这对大多数人来说是常识,但对我来说不是,所以对像我这样的人来说,这就是我所做的

我之所以使用BKS是因为这是android唯一允许的格式,但我不知道你只需要在android端使用它,你可以在服务器上使用另一种格式,然后复制密钥并将其转换为BKS在android上使用,这样就不需要BouncyCastle了


我为服务器使用了一个JKS密钥,然后使用一个名为portecle的程序将该密钥的副本转换为BKS,以便在android上使用。

此错误表示keytool试图实例化一个
BKS
密钥库,但没有加密服务提供商(CSP)能够提供这样的实现
BKS
keystore类型是由 因此,您必须使用Java安装BouncyCastle提供程序
并查看

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

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

谢谢在阅读了您提供的链接后,我设法使服务器端正常工作。。现在我必须弄清楚为什么我的客户端在握手方面失败了,但这是另一天的问题。