问题标签 [sslstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - SSL TCP SslStream 服务器抛出未处理的异常“System.Security.Cryptography.CryptographicException:找不到原始签名者”
我正在尝试创建一个 C# TCP 服务器,以便在 Windows 2008 服务器上从发送 TCP 数据的客户端(目标 C 移动应用程序)接收带有SslStream的 TCP 数据。
我正在使用 Microsoft 的示例代码 (注意:我对该代码的修改版本在这个问题的末尾)即它是服务器代码,就在“下面的代码示例演示如何创建一个使用 SslStream 类的 TcpListener与客户沟通。 ”)
例外
但是,当我运行此服务器代码时,出现以下异常:
我还尝试了http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate.aspx上的代码,它引发了类似的异常。
附加信息
我从 NameCheap 获得了我的 SSL 证书。我购买了EssentialSSL 通配符证书。我在 Windows 2008 服务器上创建了一个已创建的证书请求,即获取的文本以:
并将该增益文本文件上传到 NameCheap 并通过电子邮件发送一个Certificate.cer
文件。
我的代码
提前感谢您的帮助!
c# - SslStream.Dispose 是否处置其内部流
我NetworkStream
在SslStream
套接字服务器中使用套接字,如下所示:
我的问题是,如果当我调用 时sslStream.Dispose()
,也会SslStream
释放/关闭其内部流及其套接字吗?
还是我需要用sslStream.Close()
,stream.Close()
和明确关闭所有三个资源socket.Close()
?
sockets - SSL 套接字服务器的连接问题
带有 SSLStream 的 Socket 服务器有时会拒绝来自客户端的新连接。
我使用了远程主机名端口,它说Connecting To host...
无法在端口 6002 上打开与主机的连接:连接失败
我用过netstat -a
,我看到 TCP 状态为
TCP 0.0.0.0:6002 主机:0 监听
我也认为该服务也在监听tcpview
。
我在客户端看到的错误是connection refused with error code 10061
.
同一个套接字服务器正在接受新连接,并且运行良好,没有任何问题。但一段时间后,上述问题发生了。它是随机的。
当我重新启动套接字时,它工作正常并接受连接,我不想经常这样做。因为这会断开已经连接的客户端。
有人可以帮我解决这个问题吗?
谢谢。
c# - 尝试执行“读取”时出现 SslStream 错误
我有一些创建 TCP/IP (IPv4) 套接字并侦听传入连接的功能。
以及读取客户端测试消息的功能。发生错误的地方:
当我尝试将数据读取到缓冲区时,我看到 10054 错误并且 client.Connected 等于 false。
c# - 如何使用 TcpClient 和 SslStream 从 hotmail 帐户获取最新邮件
我创建了一个 Windows 测试应用程序,我在其中连接到我的 hotmail 帐户并检查那里的未读邮件。目前通过我的应用程序,我从我的 hotmail 帐户获取最后一封邮件。
如何获取最新邮件以及是否可以使用 SSLStream 对象获取最新邮件的主题和正文。
我在这里发布我的代码。请帮助我。任何适当的帮助将不胜感激。写“获取第一封邮件”的地方,我只得到第一封邮件的总字节数。请帮助我得到第一个电子邮件主题和正文。
通过对代码进行一些修改,我可以访问 hotmail 帐户。但是当我尝试访问 AOL 帐户时使用相同的代码。我收到 IO 异常。谁能帮助我如何使用此代码连接到 AOL 邮件系统。谢谢你的帮助。
c# - 为 SslStream 构造 GET 请求
如果这有点暗,我深表歉意,但我想通过 sslstream 将这样的内容发送到我已获得安全套接字连接的服务器...
我尝试使用字符串生成器
然后这样做
其中 sb 是 stringbuilder 对象!
当我尝试从流中读取数据时,我根本没有得到服务器的任何响应,所以很明显服务器无法理解我的愚蠢请求!
我知道我可以使用 webrequest 的变体来做同样的事情,但我尝试这样做是有特定原因的......
基本上我需要知道要对发送进行什么编码,以便我可以执行获取请求?
c# - HTTPS Proxy server in C#
I´m working on HTTPS proxy server.It should be a console application. I would like to find a manual or example for it.I found lot of pieces or non working samples. I try example from MSND for SSLStream but unsuccessfully. Does anyone have some experiences or working example ?
c# - 为什么跨 AppDomains 从 SslStream 读取成功但返回一个空缓冲区?
SslStream
当使用该方法正常读取时Read(byte[] buffer, int offset, int count)
,我得到了预期的结果。
但是,如果我将SslStream
对象移动到 newAppDomain
中,读取似乎仍然正常运行(即返回正确的读取字节数),但buffer
数组为空。
为什么是这样?
.net - 通过 SSLStream 发送数据时的数据包碎片
当使用 SSLStream 向(已经过身份验证的)客户端发送“大”数据块(1 兆)时,我看到的数据包碎片/分解比使用普通 NetworkStream 时要大得多。
使用客户端上的异步读取(即 BeginRead()),ReadCallback 被重复调用,并使用完全相同大小的数据块直到最终数据包(数据的其余部分)。使用我发送的数据(它是一个 zip 文件),这些段恰好是 16363 字节长。注意:我的接收缓冲区比这大得多,改变它的大小没有效果
我知道 SSL 以不大于 18Kb 的块加密数据,但由于 SSL 位于 TCP 之上,我不认为 SSL 块的数量与 TCP 数据包碎片有任何关系吗?
从本质上讲,客户端完全读取数据所需的时间比使用标准 NetworkStream(都在本地主机上!)
我错过了什么?
编辑:
我开始怀疑 SSLStream 的接收(或发送)缓冲区大小是有限的。即使我使用同步读取(即 SSLStream.Read()),也不会再有数据可用,无论我在尝试读取之前等待多长时间。这与我将接收缓冲区限制为 16363 字节的行为相同。设置底层 NetworkStream 的 SendBufferSize(在服务器上)和 ReceiveBufferSize(在客户端)没有任何效果。
c# - SslStream 客户端无法完成与 stunnel 服务器的握手
我有一个完全可操作的系统,其中基于 openssl 的客户端与 openssl 服务器交互。每个客户端都有自己的证书,由服务器验证。已使用 openssl (X509, pem) 生成证书。它们是自签名的。
我现在想写一个基于 SslStream 的测试客户端。我使用了 SslStream 类文档中的客户端示例。
我的 SslStream 客户端无法完成握手。stunnel 抱怨客户端没有发送其证书。这在 Wireshark 中得到确认(证书长度:握手消息中的 0)。
我的客户显示以下异常:
内部异常:收到的消息出乎意料或格式错误
这就是我加载证书的方式:
我尝试检索证书的各种属性(例如:GetSerialNumberString())。有用。验证方法返回 false。这是我接下来要调查的事情。
我如何设置我的 SslStream 似乎并不重要(结果相同):
与身份验证相同:
SelectLocalCertificate
被调用(两次)并返回我的证书。ValidateServerCertificate
目前从未被调用(令我惊讶)。
我该如何调试呢?如果你能解决我的问题就更好了。
更新
我添加了一个函数来根据文档中的X509Chain 示例执行链验证。它显示证书上的各种信息,包括两条有趣的消息:
最后,我真的没有比我打电话验证时更多的细节了。
的输出openssl verify cert.pem
没有报告任何异常。
更新
我从 pem 中提取了私钥和证书,并生成了一个 cert.pfx (pkcs12)。在我的个人密钥库中导入 cert.pfx 没有问题。在我的证书详细信息中,我可以看到一个小图标,指示附加的私钥。
我修改了我的客户以从我的个人商店中检索证书。但我遇到了同样的失败。