xamarin - 在 Xamarin 表单中对源图像使用 https 连接
问题描述
我正在使用 Xamarin Forms (4.5.0.356) 开发应用程序。
我必须使用默认绑定显示来自 HTTPS 链接的图像:
<Image Source="{Binding PhotoURL}" />
在运行时我有错误:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:219)
at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:192)
at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:149)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(Unknown Source:0)
我知道错误是由自签名证书引起的,我通常使用HttpClientHandler管理此类错误,如下所示:
var handler = new HttpClientHandler()
{
ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) =>
{
//bypass
return true;
},
};
_httpClient = new HttpClient(handler) { BaseAddress = new Uri(Constants.HTTP_BASE_ADDRESS) };
但是,当绑定机制将 https 源分配给图像控件时,Xamarin.Android.Net.AndroidClientHandler如何管理自签名证书?
谢谢
解决方案
推荐阅读
- processing - 如何让 ControlP5 Dropodownlist 打开而不是向下?
- apache - 将特定图像重定向到另一个特定图像 htaccess - WordPress
- javascript - AureliaJS 在视图中输出完整路径路由
- javascript - 当注册用户尝试在购物车中添加产品时,它会显示内部服务器错误:/update_item/
- jquery - 内容为空时隐藏手风琴上的选项卡
- mysql - 有没有办法在 apache mod_dbd 上连接到启用 ssl 的 mysql?
- python - 在 TensorFlow 中通过索引矩阵对矩阵进行切片
- google-cloud-platform - 智能家居 AOG。将设备状态与 Firestore 字段集成的最佳方式(2021 年)
- reactjs - 如何使用 useState 在 React Typescript 中推送嵌套对象接口数组
- sql - 在 Teradata SQL 助手中搜索符号