首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏林德熙的博客

    dotnet C# 入门示例 用底层的 Socket 进行 HTTP 网络请求

    不同的是,连接到服务器之后,需要进行 SSL/TLS 握手,使用 SslStream 包装 NetworkStream,然后进行认证。接下来后续的所有读写操作都将通过 SslStream 进行。 代码如下 // 进行 SSL/TLS 握手,使用 SslStream 包装 NetworkStream 然后进行认证 // 接下来后续的所有读写操作都将通过 SslStream 进行 using var sslStream = new SslStream(networkStream); await sslStream.AuthenticateAsClientAsync (writeBuffer); // 这里要用 SslStream 来发送请求内容 可以对比一下 HTTP 请求的代码,只会发现 WriteAsync 的对象从 NetworkStream 类型换成 SslStream 包装 NetworkStream 然后进行认证 // 接下来后续的所有读写操作都将通过 SslStream 进行 using var sslStream = new SslStream

    38210编辑于 2025-06-17
  • 来自专栏frytea

    检查网站的TLS版本

    = New-Object Net.Security.SslStream $TcpClient.GetStream(), $true, ( [System.Net.Security.RemoteCertificateValidationCallback]{ $true }) $SslStream.ReadTimeout = 15000 $SslStream.WriteTimeout = 15000 try { $SslStream.AuthenticateAsClient ($RetValue.Host,$null,$_,$false) $RetValue.KeyExhange = $SslStream.KeyExchangeAlgorithm $RetValue.HashAlgorithm = $SslStream.HashAlgorithm $status = $true

    6.7K30编辑于 2023-10-21
  • 来自专栏c#分享专栏

    C#的Sockets

    SslStream sslStream = new SslStream(networkStream, false, new RemoteCertificateValidationCallback(ValidateServerCertificate ), null);sslStream.AuthenticateAsClient("servername");高级技巧连接复用使用连接池来复用Socket连接。

    4.9K10编辑于 2024-10-09
  • 基于C#的Socket通信TCP和UDP两种协议实现

    System.Net.Security; using System.Security.Authentication; ​ public class SecureTcpServer {    private SslStream _sslStream; ​    public void StartSecure(int port)   {        // 加载证书        X509Certificate2 serverCert port);        listener.Start();        TcpClient client = listener.AcceptTcpClient(); ​        _sslStream = new SslStream(client.GetStream(), false);        _sslStream.AuthenticateAsServer(serverCert);  

    43910编辑于 2025-12-15
  • 来自专栏InCerry

    九哥聊Kestrel网络编程第二章:开发一个Fiddler

    = null) { var sslStream = new SslStream(stream, leaveInnerStreamOpen: true ); await sslStream.AuthenticateAsClientAsync(feature.ProxyHost.Host); stream = sslStream; } var task1 = stream.CopyToAsync(context.Transport.Output

    86210编辑于 2023-03-08
  • 来自专栏技术文章

    C# 关于“您与该网站的连接不是私密连接...”的问题

    8D%87%E7%BA%A7%E5%88%B0-net-framework-4-6-%E5%90%8E%E4%BD%BF%E7%94%A8-servicepointmanager-%E6%88%96-sslstream-api

    60610编辑于 2024-09-25
  • 来自专栏AI.NET极客圈

    Orleans 3.0 为我们带来了什么

    实现TLS支持之所以是一个重大任务要归因于上一个版本中Orleans网络层的实现方式:它并不容易适应使用SslStream的方式,而SslStream又是实现TLS最常用的方法。

    1.3K20发布于 2020-05-18
  • 来自专栏DotNet NB && CloudNative

    【译】ASP.NET Core 6 中的性能改进

    另一个类似大小的更改是 dotnet/runtime#49123,它增加了对 SslStream 中零字节读取的支持,因此我们的 10,000 个空闲连接从 SslStream 分配中从 ~46 MB dotnet/runtime#49117 在 StreamPipeReader 上添加了对零字节读取的支持,然后 Kestrel 在 dotnet/aspnetcore#30863 中使用它开始在 SslStream

    1.2K20编辑于 2022-03-22
  • 来自专栏编程进阶实战

    .NET HttpWebRequest(请求被中止: 未能创建 SSL/TLS 安全通道)和(基础连接已经关闭: 发送时发生错误)问题查找解决

    这允许基于 SslStream ((如 FTP、HTTP 和 SMTP) )的 .NET Framework 网络 api 从操作系统或系统管理员执行的任何自定义配置继承默认安全协议。

    12.3K40发布于 2021-04-20
  • 来自专栏DotNet NB && CloudNative

    【译】ASP.NET Core 6 中的性能改进

    另一个类似大小的更改是 dotnet/runtime#49123,它增加了对 SslStream 中零字节读取的支持,因此我们的 10,000 个空闲连接从 SslStream 分配中从 ~46 MB dotnet/runtime#49117 在 StreamPipeReader 上添加了对零字节读取的支持,然后 Kestrel 在 dotnet/aspnetcore#30863 中使用它开始在 SslStream

    1.5K00编辑于 2022-03-10
  • 来自专栏DotNet NB && CloudNative

    ASP.NET Core 6 的性能改进

    另一个类似的大小变化是dotnet/runtime#49123,它增加了对SslStream中零字节读取的支持,这样我们的10,000个空闲连接从SslStream分配的~ 46mb到~2.3 MB。 dotnet/runtime#49117在 StreamPipeReader 上添加了对零字节读取的支持,然后 Kestrel 在 dotnet/aspnetcore#30863中使用它开始在 SslStream

    2.2K20编辑于 2022-03-22
  • 来自专栏DotNet NB && CloudNative

    .NET 9 的网络改进

    它的设置对 HttpClient 和 SslStream 没有效果,但它可能被善意地误用。 我们为 SslStream 和 QuicConnection 实现了此功能。对于前者,功能限于我们使用 OpenSSL 作为加密库的平台。 SslStream 在 Windows 上的限制来自于 SChannel 使用单独的特权进程进行 TLS,出于安全考虑,它不允许导出密钥(dotnet/runtime#94843)。

    61000编辑于 2025-03-27
  • 来自专栏HueiFeng技术专栏

    【翻译】Orleans 3.0 发布

    由于如何实现Orleans早期版本中的网络层,实现TLS支持是一项艰巨的工作:无法轻松地使用来支持SslStream,这是实现TLS的最常见方法。

    1.4K10发布于 2020-01-22
  • 来自专栏DotNet NB && CloudNative

    【译】.NET 6 网络改进

    延迟的客户端协商 这是一个服务器端的 SslStream 函数。当服务器决定需要为已建立的连接重新协商加密时使用它。例如,当客户端访问需要初始未提供的客户端证书的资源时。 新的 SslStream 方法如下所示: public virtual Task NegotiateClientCertificateAsync(CancellationToken cancellationToken

    1.7K00编辑于 2022-03-16
  • 来自专栏葡萄城控件技术团队

    是什么优化让 .NET Core 性能飙升?

    例如SslStream通常将围绕在NetworkStream中,以便向连接中添加SSL。 下面的示例将看到这种影响,这个示例将在NetworkStream之上添加SslStream的用法: using System; using System.Diagnostics; using System.Threading Gen0=470 Gen1=3 Gen2=1 .NET Core 2.0包含了诸如dotnet / corefx#12935和dotnet / corefx#13274等PR的改进,这两者都将大大减少了使用SslStream

    1.3K10编辑于 2022-05-09
  • 来自专栏JusterZhu

    .NET Core3.1 Dotnetty实战第一章

    { pipeline.AddLast("tls", new TlsHandler(stream => new SslStream

    1.5K20编辑于 2022-12-07
  • 来自专栏DotNet程序园

    《ASP.NET Core 高性能系列》致敬伟大的.NET斗士甲骨文!

    Enum.Parse() DateTime.ToString() String.IndexOf() String.StartsWith() FileStream Socket NetworkStream SslStream

    1.2K20发布于 2019-07-24
  • 来自专栏.NET企业级解决方案应用与咨询

    C# HTTP系列1 HttpWebRequest类

    默认情况下,使用 TLS/SSL 通过 HttpClient、 HttpWebRequest、 FTPClient,SmtpClient、 SslStream 等 Api 和面向.NET Framework

    7.4K20发布于 2019-09-17
  • 来自专栏大内老A

    KestrelServer详解[1]:注册监听终结点(Endpoint)

    callbackOptions); } public delegate ValueTask<SslServerAuthenticationOptions> ServerOptionsSelectionCallback(SslStream

    1.4K10编辑于 2022-05-09
  • 来自专栏张善友的专栏

    .NET 10 网络堆栈深度架构解析:HTTP/3、性能优化与后量子加密的融合演进

    TLS 1.3 混合密钥交换:当使用 SslStream 或 HttpClient 时,.NET 10 支持协商“混合”密钥交换模式。

    45910编辑于 2025-12-18
领券