问题标签 [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# - 在 C# 上使用代理中继 HTTPS 请求
我已经在请求标头上构建了一个具有一些逻辑的代理。
我使用插座。甚至在任何连接发生之前,在我的代理中,我都会解析标头,添加身份验证并将请求转发到目标主机。
现在我偶然发现了以下问题:
- 我必须中继 https 请求
- 我不需要任何正文操作,我只需要以相同的方式修改标头,将 CONNECT 转发到目标,接收答案并返回源套接字。
问题:
我需要代理端的 CA 吗?我需要使用 SSlStream 来转发和接收请求吗?
如果是这样,算法可能是什么?
iis - 使用 TCPChannel 通过 SSL 进行 .NET 远程处理
我需要通过 SSL 保护我的 .NET Remoting。我正在使用 TCPChannel,但无法切换到 HTTPChannel 并使用 IIS 添加 SSL。
因此,我发现,我需要创建自己的接收器来加密进出客户端/服务器的流。为此,我在 MSDN 上找到了好文章:http: //msdn.microsoft.com/en-us/magazine/cc300447.aspx。然而,那篇文章正在开发加密、握手等。
我不想“重新发明轮子”。在我自己开发这个逻辑时,我害怕犯错误。我宁愿使用一些 SSL 实现(例如 SslStream 或 OpenSSL)来为我做这些事情。
我可以通过 TCPChannel 在 .NET Remoting 中使用 SslStream 或 OpenSSL 吗?你会建议一个简单的用法吗?
谢谢您的帮助。
c# - .NET 4.5 SslStream - 取消异步读/写调用?
有什么方法可以取消 SslStream 上的异步读写任务?我尝试为 ReadAsync 提供 CancellationToken,但它似乎不起作用。当下面的代码达到它的超时时间(Task.Delay)时,它会在 CancellationTokenSource 上调用取消,它应该取消读取任务,向调用方法返回一个错误,调用方法最终会再次尝试读取,这会引发“The当另一个写入操作处于挂起状态时,无法调用 BeginRead 方法”异常。
在我的特定应用程序中,我可以通过关闭套接字并重新连接来解决此问题,但是与重新建立连接相关的开销很高,因此不太理想。
c# - 可以在 SslStream 中禁用颁发者证书的下载吗?
当使用SslStream
自签名 CA 证书连接到内部可信服务器时,我想禁用颁发者证书的自动下载。
原因是证书以指向无效网络位置的方式被破坏,因此在(几乎)每次 SSL 握手时使连接停止约 10 秒。
这有可能吗?
c# - SslStream.Read 导致 IOException
我正在尝试使用 SslStream 连接到网站以传递请求,但我收到以下 IOException:
无法从传输连接中读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。
为了使测试更有效,我创建了一个独立程序并从这里复制了客户端代码示例代码:http: //msdn.microsoft.com/en-us/library/system.net.security.sslstream (v=vs .110).aspx然后根据对方的API传入请求。
它失败的部分是 sslStream.Read(buffer, 0, buffer.Length)。这永远不会返回,并且是 IOException 的来源。
我试图联系的人说 SSL 握手失败,但我没有看到任何迹象表明这一点。它总是使它成为 sslStread.Read 然后失败。他们说有时他们正在接收请求并发送响应,但我还没有看到返回的响应。
谢谢
c# - RSA、SSLStream - 密钥交换
我正在使用 SSLStream 与使用 OpenSSL 证书的客户端和服务器进行通信。
我将使用的客户端是一台拥有自己软件的机器,需要使用 RSA 加密。
我做了一个服务器和一个客户端,只是为了测试,使用我的计算机作为客户端,另一台计算机作为服务器,我做了一个简单的密钥交换,只是为了测试这些机器之间的 sslstream 和 de rsa 密码。
两台机器都像这样发送公钥:
两台机器都收到密钥并像这样创建:
但是,用我将使用的原始客户端进行测试,密钥交换的方式不同。
有没有其他方式交换密钥?因为我确信原始机器使用另一种方式与我的服务器交换这些密钥。
c# - 如何创建使用 Ssl3 而不是 Tls 的 SSLStream
我正在尝试建立使用 Ssl3 加密的 tcp 连接。
基本上我只是在创建 TCP 连接,而不是在此之上创建 SSLStream:
我的问题是默认情况下 SslStream 使用 TLS。我希望它是 Ssl3。
在 HttpWebRequest 中,您可以使用以下代码更改协议:
我检查了它,它不会影响 SslStream。
如何将 SslStream 的协议更改为 Ssl3?
java - 使用附加代码进行 SSLSocket 通信是否安全?
我开发了一个聊天服务器和客户端Sockets
,一切都很好,直到我在网上某处读到普通Socket
通信容易受到攻击。谷歌搜索了一段时间后,我发现了这个页面,其中显示了一个示例SSLServerSocket
和SSLSocket
实现(下面的代码)。
如果我按照以下代码中的步骤操作,我想知道我的服务器和客户端之间的通信是否安全。
服务器代码
客户代码
c# - 根据预先获得的自签名证书副本对 SSL 服务器进行身份验证
我正在尝试使用SslStream
. 但是我的服务器证书是自签名的。
客户端拥有服务器证书的公共部分的副本,假定通过防篡改(但不是防监听)通道传输。
我可以安全地使用它来对服务器进行身份验证吗?为此,我应该在客户端SslStream
或它的服务器中放入什么RemoteCertificateValidationCallback
?到目前为止,由于缺乏信任,我所有使用验证的尝试都失败了,我的回调现在所做的是比较名称和指纹。
如果可以接受,如何让客户“信任”其公共证书副本以进行验证?
c# - C# SslStream 在第二次请求时抛出 IOException
又是我,是的。5 分钟的编码 = 1 天尝试修复代码。这是我的代码,它仅在第二个请求时抛出 IOException(无法从流中读取),第一个可以正常工作。bytes = sslStream.Read(buffer, 0, buffer.Length);
在我试图解决这个问题但没有结果时抛出异常。
下面是请求函数的代码:
代码调用SendRequest()
函数:
如果你想要完整的代码,请在此处查看:GitHub Repo