gpt4 book ai didi

x509 - 交换 Web 服务 x509 证书

转载 作者:行者123 更新时间:2023-12-05 01:35:06 24 4
gpt4 key购买 nike

我正在尝试连接到 Exchange Web 服务以通过我自己的 Web 服务 (ASP/WCF) 代表用户发送电子邮件。我的代码在能够连接到交换服务器的台式 PC 上运行时运行良好,但在互联网上运行时无法访问交换服务器,因此我尝试通过我的网络服务器进行连接。

我正在寻找不使用 Exchange Web 服务模拟(因为我被告知不要使用它,除非绝对没有其他方法)并且不需要用户提供密码的情况下以另一个用户身份登录的方法。

我有以下代码:

Dim service As New Microsoft.Exchange.WebServices.Data.ExchangeService(Microsoft.Exchange.WebServices.Data.ExchangeVersion.Exchange2007_SP1)
Dim emailAddress As String = "example@example.com"
System.Net.ServicePointManager.ServerCertificateValidationCallback = AddressOf CertificateValidationCallBack


Dim cert As New System.Security.Cryptography.X509Certificates.X509Certificate2(HttpContext.Current.Request.ClientCertificate.Certificate)
service.Credentials = New Microsoft.Exchange.WebServices.Data.WebCredentials(New System.Security.Cryptography.X509Certificates.X509Certificate())
service.UseDefaultCredentials = False

但这不起作用,因为 Unable to cast object of type 'System.Security.Cryptography.X509Certificates.X509Certificate' to type 'System.Net.ICredentials'. 异常。

谁能指导我如何使用 X509 证书对 Exchange Web 服务进行身份验证,而不是使用网络凭据或用户名/密码

最佳答案

我一直在使用这个没有错误

        ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

关于x509 - 交换 Web 服务 x509 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5934054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com