场景是这样的,我们有一个移动应用程序,它通过https与我们的后端服务器通信,该应用程序有本机模块和嵌入webview/Cordova的HTML5部件,所以有些https通信来自本地呼叫,另一些来自ajax调用。我们希望为我们的后端服务器使用一个自签名SSL证书,该证书已经在我们现有的一些web应用程序中使用。
对于过去的网络应用程序,我们只需要指示我们的客户添加我们的自签署证书到浏览器的可信证书商店,一切都是好的。我想知道我们的移动应用应该做些什么来白名单我们的自签名证书,特别是当连接从webview/Cordova嵌入式HTML5部件的ajax调用时。目前看来,我可以配置webview来抑制所有SSL错误并接受所有自签名证书,但是如果我只想白名单我们自己的自签名证书呢?
例如,服务器地址是192.168.12.25,我为该ip地址创建了自己的自签名证书,我希望我们的移动应用程序只承认192.168.12.25的这个特定的自签名证书是有效的,而不是任何其他任意的自签名证书。
发布于 2018-08-13 10:56:39
你需要的是SSL钉扎。您必须将服务器的自签名证书嵌入到应用程序中,并从中构建一个TrustManager。有关更多细节,请参阅https://developer.android.com/training/articles/security-ssl#UnknownCa。
https://stackoverflow.com/questions/50197384
复制相似问题