- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我遇到了奇怪的问题。我正在尝试通过 TCP/SSL 连接到 Apple 服务器。我正在使用 Apple 提供的客户端证书进行推送通知。我在本地受信任的根证书和本地个人证书文件夹中的服务器 (Win2k3) 上安装了证书。
现在我有一个处理该连接的类库,当我从从服务器运行的控制台应用程序调用这个类库时,它工作得非常好,但是当我从 asp.net 页面或 asmx web 调用该类库时服务我得到以下异常。
A call to SSPI failed, see inner exception. The message received was unexpected or badly formatted.
这是我的代码:
X509Certificate cert = new X509Certificate(certificateLocation, certificatePassword);
X509CertificateCollection certCollection = new X509CertificateCollection(new X509Certificate[1] { cert });
// OPEN the new SSL Stream
SslStream ssl = new SslStream(client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
ssl.AuthenticateAsClient(ipAddress, certCollection, SslProtocols.Default, false);
ssl.AuthenticateAsClient
是引发错误的地方。
这让我抓狂。如果控制台应用程序可以正常连接,则 asp.net 网络层安全性一定存在一些问题,导致身份验证失败……不确定,也许需要在 web.config 中添加某些内容或某种安全策略。还要指出的是,我可以在本地开发机器上通过控制台和网站正常连接。
有人有什么想法吗?
最佳答案
您是否在您的系统上安装了证书?如果您运行的是 Windows,它应该位于管理控制台(运行 -> mmc)下的本地计算机/个人或受信任的文件夹中。
关于c# - SslStream.AuthenticateAsClient 异常(消息格式错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1884959/
我目前正在尝试使用 TcpClient 连接到 FTP 服务器。 为了使用 FTPS 作为协议(protocol),我通过 NetworkStream 处理一个单独的方法,该方法使用该方法创建一个 S
SslStream.AuthenticateAsClient 和 SslStream.AuthenticateAsServer 方法有什么区别? 我应该什么时候使用什么? 我检查了很多例子。但是我不明
当我在 IE 中手动导入证书(工具/Internet 选项/内容/证书)时,我的 C#.NET SSL 连接工作正常,但是如何通过代码加载证书?这是我的代码: TcpClient client = n
我正在开发一个 .NET 服务,它试图与服务器建立安全连接。该服务事先不知道服务器是否支持安全连接。这就是为什么我只是尝试建立安全连接,如果失败,我将回退到不安全的连接。 我正在使用 TcpClien
我正在尝试使用 SslStream 连接到服务器。服务器所有者向我提供了一个 PFX 文件,我已将其安装在我的客户端上,但我不确定如何从我的代码访问该证书。 具体来说,假设我有以下代码... var
我遇到了奇怪的问题。我正在尝试通过 TCP/SSL 连接到 Apple 服务器。我正在使用 Apple 提供的客户端证书进行推送通知。我在本地受信任的根证书和本地个人证书文件夹中的服务器 (Win2k
我连接的服务器最近更改了它的 SSL 证书。自更改以来,在下载证书吊销列表时,SSL 身份验证需要超过 10 秒的时间才能完成。 我正在使用 RemoteCertificateChainCallbac
首先有一些背景 调用SslStream.AuthenticateAsClient()发起TLS / SSL握手后,可以在下面的“ Windows安全性”对话框中向用户显示: Windows安全性:此应
我正在使用 Unity5 中的安全套接字(在 C# 中)开发一个应用程序,以允许服务器将信息推送到客户端。我想为此使用 Socket 和 SSLStream,以确保通信安全。 我有一个弹性 beant
我最近在将套接字通信转换为使用 System.Net.Security.SslStream 而不是 NetworkStream 时遇到了一个问题。此转换针对 .Net Framework 4.8 项目
我有一个由 SslStream.AuthenticateAsClient 调用的 RemoteCertificateValidationCallback 函数,它传递了一个 X509Certifica
我有一些 SSL 客户端代码 (C#),如下所示: X509Certificate2 cert = new X509Certificate2(@"client.pfx"); X509Certifica
我在使用 Apple 推送通知提供程序 (apns-sharp) 时收到以下异常。 推送通知在我的开发机器上工作,但它在 Rackspace 云托管中不起作用。我有与我的开发人员一起运行的确切 Rac
由于 Heartbleed ,我们的网关服务器已更新,这个问题就出现了。 由于 POODLE ,不再支持 SSLv3。 注意,该问题仅出现在 Win7+ 机器上; WinXP 盒子工作没有问题(相同的
我是一名优秀的程序员,十分优秀!