3

我正在尝试从在(本地机器)中运行的 asp.net 使用 RestApi。我遵循了https://developer.android.com/training/articles/security-config#ConfigCustom中的确切步骤(配置自定义 CA

但没有成功,总是得到相同的错误“java.security.cert.CertPathValidatorException:找不到证书路径的信任锚”。

我遵循的步骤:

1-从(受信任的根证书颁发机构)将 .der 中的自签名 CA 转换为 .pem,我复制了 .pem 并将其粘贴(添加)到原始目录。

2-创建“network_security_config”。

<network-security-config>
<domain-config>
    <domain includeSubdomains="true">10.0.2.2</domain>
    <trust-anchors>
        <certificates src="@raw/localhost"/>
    </trust-anchors>
</domain-config>
</network-security-config>

3-修改AndroidManifest:

<application    
   android:networkSecurityConfig="@xml/network_security_config"
   ...
</application

最后:在改造 baseUrl("https://10.0.2.2:5001/api/")

在此处输入图像描述

4

1 回答 1

1

做这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">192.168.0.106</domain>
    </domain-config>
</network-security-config>

刚刚检查了一个虚拟的 Spring Boot 服务器和迷你 Android 应用程序。

您可以检查您的开放端口(Ubuntu):

sudo ufw app list

并添加一个新端口,例如(Ubuntu):

sudo ufw allow 8080

我现在没有使用 Windows 机器。所以我不知道如何在那里启用它。但实际上有多种方法可以做到这一点。

于 2021-09-09T12:32:21.510 回答