【发布时间】:2018-11-29 20:28:13
【问题描述】:
我想我可能在这里遗漏了一些东西,但是如何将客户端证书发送到需要客户端证书的 SSL 站点。
我正在使用 HttpClient 并传递一个 AndroidClientHandler
有很多答案提供了代码,但没有告诉我为什么代码有效或何时应该调用它。我已经花了一个多星期的时间。
谁能提供一个简单的代码示例并简单解释一下为什么要这样做。
我正在使用自签名证书。我设法忽略了任何证书验证,并且可以在 SSL 站点配置为不需要客户端证书时调用它。
但现在我需要知道如何通过客户端证书。
我查看了很多文章和解决方案,但我没有看到客户端证书在哪里通过。
任何帮助将不胜感激。谢谢
【问题讨论】:
-
也许可以试试这个博客中的内容:dotnetdevaddict.co.za/2015/07/31/…。通常建议不要使用自签名证书,因为 CA 颁发的官方证书很便宜或免费。自签名证书使事情变得复杂。
-
看这个它提到了一个自签名证书。他们是在谈论 Web 应用程序上的 SSL 证书,还是在谈论客户端证书?同样在文章中并不清楚为什么我需要这样做,我想了解这些原则,而不仅仅是将代码复制到我的应用程序中。不幸的是,目前我只有自签名证书,所以我陷入了困境。
-
我得出的结论是,您不能使用 Xamarin HttpClient 和 AndroidClientHandler 在 HTTPS 请求中发送客户端证书。谁能确认一下?
-
我可以确认,如果您使用 AndroidClientHandler,则永远不会调用 System.Net.ServicePointManager.ServerCertificateValidationCallback。如果您需要设置和使用该回调,则必须使用托管的 HttpClient 处理程序。
-
嗨@jgoldberger 不太清楚你的意思。这与使用 Xamarin HttpClient 和 AndroidClientHandler 在 HTTPS 请求中发送客户端证书有何关系
标签: android ssl xamarin httpclient client-certificates