如何在apk上添加SSL证书?

时间:2017-08-24 08:16:02

标签: android https android-webview

我正在尝试与https网址建立连接。

我遇到的问题是,当我尝试通过WebView进行连接时,我收到以下错误:

  

无法验证证书链,错误:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚。

我搜索了很多,但大多数关于此错误的回复是忽略错误并让网址没有问题。

似乎如果我在我的Android手机上添加证书它运作良好,但它确实有任何意义,我将不得不在我想要安装de app的每个设备中添加SSL证书(因为他们将是第三方客户端)。

因此,我考虑过将证书添加到apk中,这样应用程序的用户就不会有该证书的错误,他们将能够连接到https网址。

是否可以在apk上添加SSL证书?

提前致谢!

1 个答案:

答案 0 :(得分:0)

设置和安装非常简单如果使用本地服务器,请学习SSL。

1]设置服务器(例如; TomCat)进行SSL通信(https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html)。

2]编写一个简单的Web服务(http://www.radcortez.com/ssl-tls-rest-server-client-with-spring-and-tomee/)。

3]使用任何一个工具(Keytool,OpenSSL等)准备自签名证书

4]建议使用命令来创建密钥库,证书等。但对于懒人来说,有一个基于GUI的程序:)(http://keystore-explorer.org/downloads.html

5]现在,是时候将SSL证书固定到Android应用程序了。添加你的aliasname.cer(它可以从[4]中提到的s / w导出)

6]以编程方式检查主机名(https://infinum.co/the-capsized-eight/securing-mobile-banking-on-android-with-ssl-certificate-pinning)。

7]创建自定义信任管理器,以便我们可以省略android系统的默认信任管理器(https://github.com/ikust/hello-pinnedcerts