问题标签 [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.

0 投票
2 回答
2866 浏览

c# - 使用 C# 的原始 FTP SSL

我试图了解 SSL 的工作原理。在我希望制作一个支持 SSL 的小型 FTP 客户端时,我遇到了一些问题:

send_cmd 只是一个 FtpWriter.WriteLine(text); FtpWriter.Flush(); 功能。

我的“问题”是这样的:首先我需要建立一个到 FTP 的(非 ssl)连接,然后告诉它建立一个 ssl 连接(AUTH SSL),然后我想我需要建立一个新的连接 - 某事喜欢:

取自 msdn。由于意外的数据包格式(我尝试过使用谷歌搜索,但所有人都说这是因为作者连接到了错误的端口),我一直在握手失败,我认为这是:连接不是 ssl,直到 AUTH SSL 发送到它。所以我的问题是,我将如何将其设为“混合”连接,以便与服务器建立 SSL 连接?

任何帮助是极大的赞赏!

0 投票
1 回答
561 浏览

.net - 如何使用 X509Certificate 或其他 .NET 类获取自签名证书的签名?

我试图通过尝试使用已知/受信任的公钥解密签名来验证根/自签名证书,然后检查解密的哈希是否与原始证书哈希匹配。

我通过在 sslStream 类上使用 RemoteCertificateValidation 回调来获取远程证书。

该证书以 X509Certificate 类的形式提供,我可以使用该类获取该证书的所有属性,但 Signature 除外。

有什么方法可以使用 X509Certificate 类或任何其他类获取签名的字节数组?

问候阿尔伯特

0 投票
1 回答
3184 浏览

c# - .NET UDP 和 DTLS

是否有一种本地方法可以为 .NET 中的 UDP 套接字提供 DTLS 支持?

由本机编辑我的意思是那些开箱即用的 .NET 框架。

0 投票
2 回答
852 浏览

c# - 不活动后 SslStream 延迟

我编写了一个客户端应用程序来与第三方服务器应用程序通信。它的通信是通过使用 SslStream 类的 SSL 的自定义端口进行的。

服务器允许永久连接,但是我发现我必须在 60 秒内使用命令 ping 服务器以保持合理的响应水平。60 秒后,通讯仍然有效,但收到响应时有明显延迟。它不会断开连接并重新连接。只是比平时需要更长的时间。在 60 秒内发送另一个命令又快了。60 秒后发送另一个命令会导致延迟。

就好像 60 秒后,SslStream 与服务器重新协商,使传输时间加倍。我知道 SSL 是基于会话的,这可能是原因吗?除了向服务器应用程序发送不必要的命令以使其保持活动状态之外,我能做些什么吗?

我的代码如下(截断):

...

希望有人可以对此有所了解!

我的客户端应用程序是用以下语言编写的:C# / .NET 2.0 & 4.0 托管在 Windows 2003 和 2008 上

谢谢

0 投票
1 回答
2776 浏览

.net - 使用 SSLStream 的客户端/服务器身份验证

我有一个客户端和服务器应用程序,它使用 SSLStream 通过端口 80 进行通信。客户端和服务器都作为 Windows 服务运行。

一切都在我的测试环境中运行(我的开发计算机,在 OS Windows 7 Ultimate 下)。我的问题是,当我将客户端和服务器应用程序部署到他们的部署环境(服务器在 Windows Server 2008 上,客户端在 Windows Server 2003 上)时,它不起作用,我收到错误消息:“客户端和服务器无法通信,因为它们不具备通用算法”请注意,我使用 makecert 命令安装了相同的证书(在下面的“首先”部分列出)

此外,当我放弃尝试让客户端在 Windows Server 2003 计算机下进行身份验证时,我将其移至全新/不同的 Windows Server 2008 计算机..然后出现“提供的凭据”的新错误包裹无法识别。”

如果您对这个问题有任何经验,请提供建议。在过去的 3 天里,我一直在研究这个问题,并且已经花费了 20 多个小时的开发时间。请记住,当服务器和客户端尝试进行身份验证时,问题一直在发生。

首先,我通过 makecert.exe 使用以下命令生成自签名 (?) X509 证书:

(请注意,我使用了存储位置“LocalMachine”,因为据我了解,Windows 服务通过 LocalSystem 帐户使用此存储位置,我可能错了吗?)

其次,在服务器上,我通过以下代码从商店中检索认证:

第三,在服务器上,我开始在端口 80 上监听 TCP 客户端:

第四,在服务器上,我准备了客户端连接时要处理的代码:

最后,在客户端,我准备了将客户端连接到服务器的代码:

-- 以上是我与这个问题相关的所有信息 --

0 投票
2 回答
1062 浏览

c# - C# SslStream 与 GZipStream

是否可以使用 GZipStream 在 C# 中传递 SslStream?即你能做到吗

如果这是可能的,那么 SslStream 在此之后是否仍处于可用状态还是应该关闭?

谢谢。

0 投票
2 回答
2226 浏览

c# - 避免管理员访问 SslStream.AuthenticateAsClient?

我有一个使用 .NET SslStream 类以及客户端和服务器证书的应用程序。此应用程序在 Windows XP 上运行良好。但是在 Windows 7(也可能是 Vista)上,调用 SslStream.AuthenticateAsClient 时会出现以下异常:

如果应用程序在 Windows 7 上以管理员身份“运行”,则一切正常。我猜这里的根本原因是 AuthenticateAsClient 需要客户端证书的私钥(安装在本地计算机个人证书存储中)并且该操作需要管理员访问权限。

我的问题是有什么办法可以解决这个问题吗?或者,将 AuthenticateAsClient 与客户端证书一起使用需要管理员权限,这仅仅是生活中的事实吗?

0 投票
1 回答
1939 浏览

c# - 使用 Python 或 Ruby 或 Perl 连接到 .NET Sslstream x.509 套接字

我有一个奇怪的要求。我正在尝试与用 C# 编写的服务器通信。它基本上看起来像这样:

我还有使用 X509 证书并连接到服务器的 C# 示例代码。我也有 cert.pfx 文件的密码。

我想做的是设置某种可以连接到套接字、传输几个字节并接收响应的 shell 脚本。(实际上任何语言,虽然我在看 Python 或 Ruby 或 Perl)

我尝试使用 Python 中的 SSL 包装器,但我收到一条错误消息,指出它们不是服务器/客户端可以交谈的已知算法。

我的 Python 代码示例:

对于 CERT,我尝试了一些不同的文件:.pfx,以及使用 openssl 从 .pfx 中提取的一些文件。

我也尝试了许多不同的示例(ssl.wrap_socket 的参数)。我也不是很熟悉这些联系。

也许这里有人可以伸出援助之手?

谢谢!

0 投票
4 回答
3987 浏览

c# - 使用 C# 中的各种密码强度和算法通过 SSL 连接到服务器

搜索了一下,发现了不同的工具来检查弱密码。如何确定服务器通过 .net/c# 支持哪些密码/算法?

我可以通过 (ssl.protocols.ssl2/ssl3/tls) 测试 sslv2、sslv3 和 tls:

如何通过 C# 检查算法和其他弱密码?我正在查看 SSLDiagnos,但它在 c 中?

有任何想法吗?

0 投票
1 回答
1877 浏览

c# - 与 SslStream 的 XMPP TLS 连接

我正在尝试创建一个连接到 Gtalk 的简单 xmpp 客户端。握手的第一部分似乎有效。Ror TLS 握手我创建了一个客户端 SslStream,连接到预期的服务器 (talk.google.com) 并成功获得了身份验证。

第一个 SSlStream.Read 是接收问候回复,一切正常。我执行 SslStream.write 来发送我的第一个命令,但是当我执行 Sslstream.Read() 来获取回复时,我收到此错误。“System.IO.IOException: Unable to read data from the transport connection: An installed主机中的软件中断了连接。”

谁能指出我正确的方向?

我使用的代码与 msdn http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx上的示例非常相似, 除了当 TLS 是时我从网络流切换到 Sslstream协商的。