白名单自签名SSL在应用程序中出现了问题?

时间:2018-05-06 07:45:43

标签: android ios ssl hybrid-mobile-app self-signed

场景是这样的,我们有一个移动应用程序,通过https与我们的后端服务器通信,该应用程序具有本机模块和HTML5部分嵌入webview / Cordova,因此一些https通信来自本机调用,而其他来自ajax电话。我们希望为我们的后端服务器使用自签名SSL证书,该证书已用于我们现有的某些Web应用程序。

对于过去的网络应用程序,我们只需要指示我们的客户将我们自签名的证书添加到浏览器的可信认证商店中,一切都很好。我想知道我应该如何为我们的移动应用程序将我们的自签名证书列入白名单,尤其是在连接webview / Cordova嵌入式HTML5部件的ajax调用时。目前,似乎我可以配置webview来抑制所有SSL错误并接受所有自签名证书,但是如果我只想将自己的自签名证书列入白名单呢?

例如服务器地址是192.168.12.25并且我为该IP地址创建了自己的自签名证书,我希望我们的移动应用程序仅将192.168.12.25的这个特定自签名证书识别为有效,而不是任何其他任意自签名证书。

1 个答案:

答案 0 :(得分:1)

您需要的是SSL固定。您必须将服务器的自签名证书嵌入到应用程序中,并从中构建TrustManager。有关更多详细信息,请参见https://developer.android.com/training/articles/security-ssl#UnknownCa