You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI .NET 7 Android端如何使用自签名证书发起HTTP请求?

MAUI .NET 7 Android端使用自签名证书发起请求的经验分享

问题背景

在MAUI .NET 7 Android端使用原生AndroidMessageHandler时,存在AndroidMessageHandler.ClientCertificates未初始化(为空)的问题,导致无法正常使用自签名证书发起HTTP请求。本次场景中使用的是基于.NET 7标准RSA功能生成私钥的自签名证书(.NET 6环境下可通过BouncyCastle NuGet包实现同款功能)。

曾找到一个针对Xamarin Android的相关问题讨论,虽未给出可行解决方案,但为本次实现提供了思路启发。

实现步骤

  • 自定义消息处理器,继承自AndroidMessageHandler
  • 在自定义处理器的构造函数中,初始化ClientCertificates并添加自签名证书
  • 重写ConfigureKeyStore、ConfigureKeyManagerFactory和ConfigureTrustManagerFactory三个方法
  • 在ConfigureKeyStore方法中,将自签名证书和私钥导入新建的KeyStore(需将.NET RSA相关对象转换为Java证书,可提供转换代码),这是让证书在HTTP请求中生效的关键步骤
  • 在构造函数中设置ServerCertificateCustomValidationCallback,处理自签名证书引发的SslPolicyErrors.RemoteCertificateChainErrors问题

若需要可提供完整可运行代码。

截至2023年3月,官方尚未针对该问题给出可行解决方案,特此分享该实现经验供开发者参考。

内容的提问来源于stack exchange,提问作者Rufat AA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 02:04:58