System.Net.WebException:
java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.'
Run Code Online (Sandbox Code Playgroud)
这是我的 VS2022 解决方案在使用自签名证书和 Android 时出现的错误。
案例如下:
它是一个在本地网络上运行的 Android 应用程序,具有本地 https 后端服务。域管理员已为此服务颁发了证书。但是,该域不是官方 CA(证书颁发机构)。然后,您必须通过设置手动安装 CA。
解决方案的一部分
我为解决此问题所做的是将 CA 证书添加到 Android 设备(通过“设置”>“安全”->“加密和凭据”->“安装证书”)。
Android 应用程序中的 Web 浏览器现在可以成功访问 https 站点,而不会出现警告。
我仍然需要帮助,
但是除非通过网络安全配置进行配置,否则无法通过应用程序访问 CA 商店: https://developer.android.com/training/articles/security-config#TrustingAdditionalCas
这是可以在 Xamarin 时代完成的事情,例如:
但在MAUI我有点迷失,我没有看到合适的资源,mipmap等。
我想用这样的一句话来解决这个问题:
[程序集:应用程序(UsesCleartextTraffic = true)]
...也可以通过网络安全配置进行配置。
是否有一句话或者有人可以帮助我配置我的网络安全配置以使 CA 商店在 MAUI 解决方案中可用?
我正在一个项目中工作,并且被困在登录/注册页面的实施中。当我尝试执行代码时,它给了我错误Cleartext HTTP traffic to 192.168.1.130 not permitted。我检查了ipconfig,那是我的IPv4,所以我添加了192.168.1.130,但我也检查了127.0.0.1,但是那个也不起作用。
我尝试实现<domain includeSubdomains="true">192.168.1.130</domain>但是不起作用(实现android:usesCleartextTraffic="true"也不起作用)。
我在后端使用XAMPP,如果我运行php代码,一切正常,因此没有问题。问题出在Android Studio(我正在使用Kotlin)中。
对于仿真器,我正在使用Genymotion仿真器(它使用VirtualBox)。
这是采用的按钮的代码url。我检查了所有内容,但仍未实现。
login.setOnClickListener {
var url = "http://192.168.1.130/php/login.php?mobile=" + login_user.text.toString() +
"&password=" + login_password.text.toString()
Run Code Online (Sandbox Code Playgroud)