相关疑难解决方法(0)

如何解决"无法与权限建立SSL/TLS安全通道的信任关系"

真的以为我修好了这个问题,但之前只是伪装了.

我使用HTTPS在IIS 7中托管了WCF服务.当我在Internet Explorer中浏览到此站点时,它就像一个魅力,这是因为我已将证书添加到本地根证书颁发机构商店.

我正在一台机器上开发,所以客户端和服务器是同一台机器.该证书直接从IIS 7管理管理单元自签名.

我现在不断得到这个错误......

无法为具有权限的SSL/TLS安全通道建立信任关系.

...从客户端控制台调用时.

我手动给自己的权限和网络服务证书,使用findprivatekey和使用cacls.exe.

我试图使用SOAPUI连接到服务,这是有效的,所以它必须是我的客户端应用程序中的一个问题,这是基于过去使用http的代码.

在哪里可以看到我似乎已经耗尽了为什么我无法连接的所有可能性?

iis wcf certificate

131
推荐指数
10
解决办法
28万
查看次数

如何使用https将WebRequest用于访问SSL加密站点?

我正在编写一个程序,用于从用户提供的URL中读取内容.我的问题在于代码是这样的:

Uri uri = new Uri(url);
WebRequest webRequest = WebRequest.Create(uri);
WebResponse webResponse = webRequest.GetResponse();
ReadFrom(webResponse.GetResponseStream());
Run Code Online (Sandbox Code Playgroud)

如果提供的URL是"https://"URL,则会中断.任何人都可以帮助我更改此代码,以便它可以使用SSL加密的内容.谢谢.

c# webrequest

106
推荐指数
3
解决办法
17万
查看次数

根据验证程序,远程证书无效

运行以下代码,我得到一个例外:

using (var client = new Pop3Client())
{
    client.Connect(provider.ServerWithoutPort, provider.Port, true);
}
Run Code Online (Sandbox Code Playgroud)

我得到的例外情况:

The remote certificate is invalid according to the validation procedure.


   at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) …
Run Code Online (Sandbox Code Playgroud)

c# ssl pop3

42
推荐指数
4
解决办法
12万
查看次数

错误:C#底层连接已关闭:无法为SSL/TLS安全通道建立信任关系

我正在尝试通过SSL发出请求.证书已安装在计算机上,可通过浏览器运行.

我正在使用此请求:

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] data = encoding.GetBytes(request.Content.OuterXml.ToString());
string password = "XXXX";
X509Certificate2 cert = new X509Certificate2("c:\\zzzz.p12", password);
string key = cert.GetPublicKeyString();
string certData = Encoding.ASCII.GetString(cert.Export(X509ContentType.Cert));

Uri uri = new Uri(request.Url);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(uri);
myRequest.Credentials = new NetworkCredential(request.User, request.Password.ToString());
myRequest.Method = "PUT";
myRequest.ContentType = request.ContentType;
myRequest.ContentLength = data.Length;
myRequest.ClientCertificates.Add(cert);

Stream newStream = myRequest.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();

System.IO.StreamReader st = new StreamReader(((HttpWebResponse)myRequest.GetResponse()).GetResponseStream());
Run Code Online (Sandbox Code Playgroud)

使用此代码我收到此错误:

底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.---> System.Security.Authentication.AuthenticationException:根据验证程序,远程证书无效.

问题是什么?

c# ssl certificate put httpwebrequest

26
推荐指数
1
解决办法
7万
查看次数

无法创建SSL/TLS安全通道 - 问题可能是代理服务器吗?

我有一个ac#app,它调用一个使用证书进行身份验证的Web服务方法.代码有效,因为当它安装在服务器A(没有代理)时,它会进行身份验证.

当我在服务器B上安装代码时,在客户端站点上,它安装在代理服务器后面.我真的尝试了几乎所有的东西,但我一直收到这个错误:

无法创建SSL/TLS安全通道

您是否认为此问题可能是由代理服务器引起的?如果您有任何亲身经历,请分享.

谢谢

c# web-services certificate

14
推荐指数
3
解决办法
4万
查看次数

AuthenticationException:由于证书链中的错误,远程证书无效:UntrustedRoot、NotValidTime

在 Visual Studio 中进行本地开发和身份验证时,我始终收到以下错误:

AuthenticationException:由于证书链中的错误,远程证书无效:NotValidTime、UntrustedRoot

其中,当使用从我们的项目之一HttpClient调用我们的后端端点之一( )时会发生这种情况,因此这一切都发生在本地。localhost

该证书从去年的这个日期开始签署/有效,一年后现已失效。我团队中的其他开发人员都没有收到它或遇到相同的问题。

然后我尝试了很多东西,其中包括:

我们没有集中的身份验证程序 - 它分布在系统的各个地方和场景中,因此我无法使用像if #DEBUG... //then ignore certificates. 我需要正确生成有效的证书。

c# ssl-certificate visual-studio asp.net-web-api

11
推荐指数
2
解决办法
4万
查看次数

自签名证书.底层连接已关闭:无法建立信任关系

尝试为我们的Intranet的Web服务站点设置自签名证书.证书本身显示它是"ok"但是当尝试从Web服务调用方法时它会抛出错误,并且在添加Web引用时它会发出警告.

以下是步骤和一些屏幕截图,以确保我提供准确的信息.

Windows server 2003. IIS.该网站是"WebServices.companyName.vmc"

1

这是该站点的主机头

2

从服务器,它显示证书'确定'.

在此输入图像描述

以下是一些网站设置

在此输入图像描述


现在,在visual studio 2008中,添加Web引用

在此输入图像描述

单击弹出的"是"

在此输入图像描述

单击"否"到此弹出窗口,按顺序多次.

在此输入图像描述

代码行运行后,调用Web服务...我收到此错误

底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.

当浏览器中的webservice站点,URL栏的小垫锁定时,会提供以下消息:

在此输入图像描述


这是我现有的代码:

Dim mySvc As New WebServices.InstantAccount
mySvc.calledFunction()
Run Code Online (Sandbox Code Playgroud)

编辑

对于有类似问题的人,请阅读iamkrillin的回答和我的答案......因为它们是解决问题的两种不同方式......取决于您可以控制的部分(代码或证书).

.net security iis web-services ssl-certificate

10
推荐指数
1
解决办法
7849
查看次数

无法为 SSL/TLS 安全通道建立信任关系:根据验证程序,远程证书无效

我有一个已经在生产环境中运行了大约 4 年的 asp.net mvc web 应用程序。突然从大约一周前开始,我收到了对 3rd 方安全 API 的所有调用都返回此错误的消息:

System.Net.WebException:底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。---> System.Security.Authentication.AuthenticationException: 根据验证程序,远程证书无效。

这是用于调用 SendGrid 以发送电子邮件、调用 Azure Blob 存储以上传文档、调用 Connect.io 以进行日志记录。

通过将连接字符串更改为使用 http 而不是 https,我设法暂时解决了 Azure Blob 存储问题。

很明显,我的应用服务器出现了问题,我不知道从哪里开始寻找。

请帮忙。

编辑:原来我使用的是由我的(较少使用的)第 3 方 API 之一提供的示例库,并且该库有一个覆盖, System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) 它有自己的关于什么构成有效证书的逻辑!!!啊!

asp.net-mvc ssl-certificate

8
推荐指数
2
解决办法
3万
查看次数

如何在 web.config 中设置 ServicePointManager.ServerCertificateValidationCallback

我如何在 web.config 文件中设置它

ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) =>true;
Run Code Online (Sandbox Code Playgroud)

c#

5
推荐指数
1
解决办法
8933
查看次数

调用 WCF 服务时出现间歇性错误:“无法为具有授权的 SSL/TLS 建立安全通道”

我每 5 分钟调用一次 svc 端点。问题是有时我会收到此错误:

“无法为具有授权的 SSL/TLS 建立安全通道”

其他时候它只是成功运行而没有任何问题。由于这是如此随机和间歇性的,我无法找到根本原因。

有谁知道这一定是什么原因造成的?

.net c# ssl wcf

5
推荐指数
0
解决办法
800
查看次数

在 C# 中使用 ProtonMail 发送电子邮件

我有一个在 Azure 应用服务上运行的应用程序。到目前为止,我一直在使用 Gmail SMTP 服务器发送电子邮件,并且运行良好。电子邮件服务与文档中的类似,配置如下所示:

"ApplicationEmail": {
    "EmailAddress": "template@gmail.com",
    "Password": "temppassword",
    "SmtpClient": "smtp.google.com",
    "Port": "587",
    "SSL": "true"
  }
Run Code Online (Sandbox Code Playgroud)

现在我尝试切换到 ProtonMail 服务器,我在那里有一个带有自定义域的帐户,最终,我尝试重新配置设置,如下所示:

 "ApplicationEmail": {
    "EmailAddress": "administration@mydomain.de",
    "Password": "randompassword",
    "SmtpClient": "smtp.protonmail.com",
    "Port": "587",
    "SSL": "true"
  }
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,我在尝试发送电子邮件时收到此错误

   System.Net.Mail.SmtpException: Failure sending mail.
   System.Net.Sockets.SocketException (11001): No such host is known.
Run Code Online (Sandbox Code Playgroud)

我到处寻找解决方案,我发现的唯一方法是安装在后台本地运行并加密和解密电子邮件的 ProtonBridge,但这看起来不像一个选项,因为我无法将其集成到 Azure 应用服务中,因为就像 PaaS 而不是 Azure VM。如果我错了,请不要严格判断,我对 C#、Azure 还比较陌生:)

c# email smtp azure asp.net-core

5
推荐指数
1
解决办法
3439
查看次数

WCF:无法为localhost建立SSL/TLS安全通道的信任关系

设置是我在相同的HTTPS网站上使用相同的应用程序池和证书托管2个类似的WCF应用程序.

现在,第一个WCF应用程序在某个函数上调用第二个WCF.在第一个调用第二个WCF之后,抛出异常

"Could not establish trust relationship for the SSL/TLS secure channel..."
Run Code Online (Sandbox Code Playgroud)

我见过类似的问题,但不同之处在于我的工作应该有效,因为它使用相同的证书.可能会发生什么?

编辑:

基本上这里是如何在第一个WCF中的方法内调用第二个WCF,

public void SomeMethod(string parameter)
{
   SecondServiceClient svc2 = new SecondServiceClient ("BasicHttpBinding_IService2");
   svc2.DoWork(parameter);
}
Run Code Online (Sandbox Code Playgroud)

第一个WCF的第二个WCF的web.config端点有这样的:

...
<client>
  <endpoint address="https://192.168.1.100/MyService2/Service2.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService2"
    contract="SecondService.IService" name="BasicHttpBinding_IService" />
</client>
...
Run Code Online (Sandbox Code Playgroud)

我说,HTTPS很难玩.

ssl https wcf web-services

0
推荐指数
1
解决办法
1万
查看次数