unity下ssl证书验证失败

“System.IO.IOException: The authentication or decryption has failed. —> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.\r\n at Mono.Security.Protocol.Tls.RecordProtocol.ProcessAlert (AlertLevel alertLevel, AlertDescription alertDesc) [0x00000] in :0 \r\n at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in :0 \r\n — End of inner exception stack trace —\r\n at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in :0 “

线上正在跑的一个项目,突然出现如上的错误。很久之前我就知道了,unity中可以强制设置为不验证ssl证书,但我好奇的是,这个是线上正在跑的项目,SSL证书也没有出现更换的情况,为什么突然间就验证失败了。

一开始猜测会不会是证书本身的问题,用了几个检测SSL证书网站进行检测,结果正常。

和运维排查了一下午没找到原因。这个地方请求失败对客户端目前并无大影响,后续准备修改代码避免这个检测。

周一来公司时,又对这个事比较好奇了,决定再重新理一下头绪,看是不是漏了什么线索没有发现。从头开始重新一步一步推测。

在检测SSL证书时,突然发现证书只支持TLS1.2

这里出现了一丝疑惑,难道配的证书不支持TLS1.0/1.1,又找到几个检测工具测试了,也显示不支持TLS1.0/1.1。
找到公司里另一个支持TLS1.0/1.1的域名进行测试,可以成功访问。

将这个情况反馈给运维,运维同学才想到,前一段时间将运行环境容器化,容器默认只开启了TLS1.2。

修改为支持TLS1.0/1.1后,线上问题解决,不用重新发包了.yeah.

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>