【发布时间】:2019-05-04 00:06:35
【问题描述】:
我在我的 Qt 项目中为包括 Android 在内的移动应用程序使用 OpenSSL。
我设置了 .so 文件,并且 HTTPS 在 Android 9 之前运行良好。我知道 Android 9 版本已强制执行网络安全,特别是默认情况下它已禁用明文通信并仅允许系统 CA:https://developer.android.com/training/articles/security-config
我在 Android 9 上使用自签名证书向自定义 HTTPS 服务器发出 HTTPS 请求时遇到了问题 - 在早期版本上运行完美。
我已经进行了测试 - 设置网络安全设置,如 Android 7.1 上的 Android 9 默认设置:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
- 这并没有破坏 HTTPS 功能。因此,我怀疑 Android 9 不仅更改了 Network Security 默认配置,而且还更改了其他内容,即不允许使用应用程序捆绑的 openssl 共享库。
这可能吗?如何解决?
【问题讨论】:
标签: android qt ssl openssl android-9.0-pie