【问题标题】:Qt and OpenSSL on Android 9Android 9 上的 Qt 和 OpenSSL
【发布时间】: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


    【解决方案1】:

    在使用 Qt 的情况下,Android 网络安全配置不会影响通信,并且像普通的一样透明地工作,对于 TLS 流量也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-11
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      相关资源
      最近更新 更多