Android Studio和Bouncy Castle

时间:2015-11-13 14:57:05

标签: java android ssl android-studio bouncycastle

我试图创建一个应该使用特定证书连接到HTTPS服务器的Android应用。

我在运行OSX El Capitan的Mac上使用Android Studio 1.4

我已成功将证书密钥解压缩到cert.pem文件,并使用以下命令将其转换为密钥库:

keytool -importcert -v -trustcacerts -file "cert.pem" -alias an_alias -keystore "server.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk16-146.jar" -storetype BKS

但是,当运行代码时,它会给我错误:

Error:Execution failed for task ':app:packageDebug'.
> class org.bouncycastle.asn1.ASN1Primitive overrides final method equals.(Ljava/lang/Object;)Z

我已经找到了关于这个错误的一些答案,但它们已经很老了,而且提议的解决方案,即从Library / Java / Extensions删除bcprov-jdk15on-146.jar,但我这样做了,它没有解决我的问题。

另外在另一个回答中,我发现了将此添加到build.gradle的建议:

Class klass = org.bouncycastle.asn1.bc.BCObjectIdentifiers.class;
URL location = klass.getResource('/'+klass.getName().replace('.', '/')+".class");
println location.toURI().toString();

建筑物给我这个,但我仍然对所发生的事情感到茫然:

jar:file:/Users/Me/Library/Java/Extensions/bcprov-jdk15on-146.jar!/org/bouncycastle/asn1/bc/BCObjectIdentifiers.class

有没有人知道如何解决这个问题?

0 个答案:

没有答案