欢迎光临散文网 会员登陆 & 注册

解决SSL routines:tls_process_server_certificate问题

2022-10-08 16:25 作者:星光免兔  | 我要投稿

更新sqlsrv驱动后,产生TLS加密的问题,问题如下:

SQLSTATE[08001]: [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:self signed certificate]

原因:

该问题由SSL使用TLS加密通讯引起的证书问题,与代码无关。使用旧版的17驱动即可恢复正常。

解决办法:

如果是使用\PDO连接,

在连接的DSN信息增加TrustServerCertificate=1,Encrypt=1即可,在options增加无效

例:

sqlsrv:Server=IP,端口;Database=dbname;TrustServerCertificate=1;Encrypt=1


如果是Laravel之类数组配置参考如下:

参考https://www.php.net/manual/zh/ref.pdo-sqlsrv.connection.php

解决SSL routines:tls_process_server_certificate问题的评论 (共 条)

分享到微博请遵守国家法律