Android是否支持.jks密钥库types?

我正尝试使用由服务器团队提供的密钥库连接到服务器。

在向服务器发送服务呼叫时,我首先使用以下api创build了KeyStore实例

KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); 

它将密钥库types返回为“BKS”。

什么服务器团队发送的密钥库是types“.jks”(somename.jks)所以,我收到exception“密钥存储区的错误版本”。

我试图通过传递“JKS”到KeyStore的getInstance()方法

 KeyStore keystore = KeyStore.getInstance("JKS"); 

但是在这里我得到exception“找不到KeyStore JKS实现”。

这是一段代码:

 KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); InputStream instream = mContext.getAssets().open("somename.jks"); try { trustStore.load(instream, "password".toCharArray()); } finally { try { instream.close(); } catch(Exception ignore) { } } 

请指导我解决这个问题。

Related of "Android是否支持.jks密钥库types?"

我认为Android支持'唯一'BouncyCastle KeyStores(称为BKS)…您仍然可以使用Portecle

将它从JKS转换为BKS,应该像魅力一样工作(至less当我尝试将我的.CRT存储为BKS格式时,它起作用了!);

'只'的意思,很容易在这里:P,否则你将不得不操纵的东西