【问题标题】:Trust anchor for certification path not found and Trust anchor possible resolution未找到证书路径的信任锚和信任锚可能的解决方案
【发布时间】:2021-08-19 05:28:54
【问题描述】:

我正在尝试了解网络安全配置和证书位。 到目前为止,我从来没有费心在我的配置中设置信任锚,因为应用程序只是工作并依赖于服务器上设置的内容。

假设我有以下配置,但没有指定信任锚

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
      <domain-config cleartextTrafficPermitted="false">    
      </domain-config>
    </network-security-config>
  1. 在这种情况下,证书应用的默认策略是什么?
  2. 它会信任我服务器中设置的任何证书吗?

因为我认为我们有一个损坏的证书链(通过 sslchecker 验证..),但我有一种情况,我无法向网络团队的同事解释,也无法理解。

为什么如果证书链损坏(无法到达中间证书)但在浏览器中运行,则进行 https 调用时 Android 应用程序无法运行?

系统或用户是什么意思?我可以添加这个,应用程序将不再给我“找不到证书路径的信任锚”

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config>
            <trust-anchors>
                <certificates src="system"/>
                <certificates src="user"/>
            </trust-anchors>
        </base-config>
    </network-security-config>
    

你能发光吗?查看了 Android 文档,但我不清楚。 你能花5分钟给我解释一下吗?谷歌这次没有帮助

谢谢

【问题讨论】:

    标签: android ssl xamarin.forms xamarin.android android-network-security-config


    【解决方案1】:

    在这种情况下,证书应用的默认策略是什么?

    默认情况下,来自所有应用的安全连接(使用 TLS 和 HTTPS 等协议)信任预安装的系统 CA,而面向 Android 6.0(API 级别 23)及更低版本的应用也默认信任用户添加的 CA 商店。应用可以使用 base-config(用于应用范围的自定义)或 domain-config(用于每个域的自定义)自定义其自己的连接。

    它会信任我服务器中设置的任何证书吗?

    您可以信任一组自定义 CA,而不是平台默认值。 有关此的更多详细信息,请查看文档。 https://developer.android.com/training/articles/security-config#CustomTrust

    【讨论】:

      猜你喜欢
      • 2019-01-02
      • 2018-10-29
      • 2020-11-08
      • 2014-01-29
      • 2017-10-03
      • 2019-05-19
      • 2016-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多