C# SSL/TLS - 提示错误:“调用 SSPI 失败,请参见内部异常。”
这里写自定义目录标题
- C#使用证书与服务端建立SSL/TLS通信,验证失败
- 问题描述
- 框架环境
- 分析原因及解决方案
C#使用证书与服务端建立SSL/TLS通信,验证失败
遇到一个问题挺特殊的,记录一下。
问题描述
C#做客户端使用TcpClient+SslStream建立SSL/TLS通信时,在调用SslStream.AuthenticateAsClient方法验证证书时发生异常。
异常信息:
调用 SSPI 失败,请参见内部异常。
接收到的消息异常,或格式不正确。
A call to SSPI failed, see inner exception.
The message received was unexpected or badly formatted
框架环境
同样的一套用于建立SSL连接的C#代码,之前在 .NET Core/.NET 5 环境下没有问题,但后来在 .NET Framework和.NET Standard 上运行时就产生了上述问题。
经过反复测试,发现问题确实只存在于.NET Framework和.NET Standard平台。
分析原因及解决方案
其实最终并没有真正解决这个问题,因为客户端上没有进行改动,反而是修改了服务端的代码。
服务端是用**C++**开发的,引用 OpenSSL库实现的,在配置服务端验证规则的时候关注到有一个参数 :
SSL_VERIFY_FAIL_IF_NO_PEER_CERT
意思如果服务端会向客户端要证书,如果客户端没有返回证书,则验证失败。
但是我翻遍了微软官方的文档,没有找到 SslStream 有关于返回客户端证书相关的方法,所以只能取消了这部分的验证。于是,连接就成功了。
推测是.NET Core在SSL通信的底层实现了返回客户端证书的操作,而.NET Framework和.NET Standard并没有。
C# SSL/TLS - 提示错误:“调用 SSPI 失败,请参见内部异常。”相关推荐
- 调用 SSPI 失败,请参见内部异常,System.Net.Security.SslState.StartSendAuthResetSignal 异常解法
部署系统,登录时,出现下面异常错误: 调用 SSPI 失败,请参见内部异常. 来源: System 实例: 在 System.Net.Security.SslState.StartSendAut ...
- 调用 SSPI 失败,请参见内部异常
前言:这是我的第一篇博客,很多知识也是正在学习和积累中.以后会记录一些技术上遇到的问题和总结一些知识点. 问题描述 前段时间用.net开发定时往MYSQL中查询和插入数据,会偶发出现 " 调 ...
- 调用 SSPI 失败,请参见内部异常 解决方法
调用 SSPI 失败,请参见内部异常 解决方法 参考文章: (1)调用 SSPI 失败,请参见内部异常 解决方法 (2)https://www.cnblogs.com/qbz95/p/8093840. ...
- 调用 SSPI 失败,请参见内部异常 解决方法
2017-11-12 12:49:53:706] OnServerConnectionAvailable error : System.Security.Authentication.Authenti ...
- 调用 SSPI 失败,请参见内部异常。接收到的消息异常,或格式不正确。
调用 SSPI 失败,请参见内部异常.接收到的消息异常,或格式不正确. 参考文章: (1)调用 SSPI 失败,请参见内部异常.接收到的消息异常,或格式不正确. (2)https://www.cnbl ...
- 异常处理·EF·准备命令定义时发生错误。有关详细信息,请参阅内部异常
阅文时长 | 0.08分钟 字数统计 | 134.4字符 主要内容 | 1.引言&背景 2.声明与参考资料 『异常处理·EF·准备命令定义时发生错误.有关详细信息,请参阅内部异常』 编写人 | ...
- 指定的服务器无法,AnyShare-Unify Editor 服务器与 AnyShare 对接失败,提示错误:连接失败,指定的服务器无法访问。...
关键字 Unify Editor.对接.连接失败 适用产品 AnyShare Enterprise 6.0.x AnyShare Express 6.0.x 问题描述 Unify Editor 服务器 ...
- regsvr32提示模块加载失败 请确保二进制
关于注册COM组件失败的问题,困扰了很久,花点时间研究一下, 找了很多文章,发现都解决不了问题 https://www.cnblogs.com/chucklu/p/4576867.html 以前急用的 ...
- virtualbox for mac安装器遇到了一个错误, 导致安装失败. 请联系软件制造商以获得帮助的解决办法...
virtualbox下载地址: https://www.virtualbox.org/wiki/Downloads 原因:"Mac OS 10.13.4 会阻止外部内核扩展的安装" ...
最新文章
- 一分钟了解阿里云产品:阿里云解析五大热点技术问题分析
- 如何运行一个Java文件?
- Python——语言基础
- linux ubi代码分析,linux ubi文件系统
- curviloft插件怎么用_Curviloft (曲线放样) v1.8a
- php下载xlsx到本地,Laravel 5.8 实现Excel 下载(将信息数据导出成Excel下载到本地)...
- Java实现下载图片
- android 锁屏界面来电话,android锁屏界面短信解锁指向怎么修改?
- MTK6589双卡卡1或是卡2拨出电话
- win10下载CAD之后任务栏卡死
- aic准则和bic准则_用户故事准则
- 一套代码快速实现一个语音聊天室
- 记录每天背的单词,准备考研。(4月11日)
- 2018面经(1):机器视觉工程师岗位
- EasyExcel:读取Excel数据到List集合中
- pandas 时间属性函数
- html5中字体显示不出来怎么办,手机字体无法正常显示怎么办
- SurfaceGo_BMR_41_1.011.2.zip恢复镜像网盘满速下载地址
- nmon监控资源工具下载以及安装
- 【2011.12.10普及模拟】泽泽在埃及题解
热门文章
- TouchGFX开发(2)----触摸屏幕组件点亮LED
- k8s restful api 访问
- 视频教程-Spring boot快速入门-Java
- 16进制每一位存到数组里头
- 职高对口计算机应用资料,2020年湖南省职高对口计算机应用综合试卷(三校联考)...
- Mac /etc目录下文件示例
- STL源码剖析 学C语言,STL源码剖析(一)
- for i in range(起始值,终点值,步长):
- sikuli python java_python怎么调用sikuli
- 大学里计算机专业很忙吗,大学里“特累”的10大专业,忙到没时间恋爱!