在Android应用程序中使用KeyStore.getInstance的NoSuchAlgorithmException [英] NoSuchAlgorithmException with KeyStore.getInstance in android application
问题描述
我在android中编写程序用于与服务器通信,我使用SSL协议,当我编写此代码时
I write program in android for communication with server, I use SSL protocol, when I write this code
KeyStore ks = KeyStore.getInstance( "JKS" );
我收到此错误
java.security.NoSuchAlgorithmException:KeyStore JKS实现
未找到
java.security.NoSuchAlgorithmException: KeyStore JKS implementation not found
如何解决我的问题?
我的算法是JKS。
How can I resolve my problem? My Algorithm is JKS.
最好的问候
推荐答案
Android不支持JKS密钥库。但是,您可以将JKS密钥库转换为BouncyCastle BKS密钥库,它可以正常工作。
Android does not support JKS keystore. However you can convert your JKS keystore to BouncyCastle BKS keystore and it will work.
@edit
您将需要bcprov-jdk16-145.jar
You will need bcprov-jdk16-145.jar
keytool -importkeystore -srckeystore mytruststore.jks -destkeystore mytruststore.bks -srcstoretype JKS -deststoretype BKS -srcstorepass changeit -deststorepass changeit -provider org.bouncycastle.jce.provider.BouncyCastleProvider
如果你的bcprov jar在另一个目录中添加-providerpath路径。
If your bcprov jar is in another directory add -providerpath path.
这篇关于在Android应用程序中使用KeyStore.getInstance的NoSuchAlgorithmException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!