我看到一些与 Azure SQL Server 相关的 SSL 证书验证的奇怪结果。
我有一个与 SQL 服务器建立安全连接的应用程序。当我在本地 PC 上运行应用程序时,服务器返回的证书返回以下 alt DNS 名称:
DNS:northcentralus1-a.control.database.windows.net, DNS:*.northcentralus1-a.control.database.windows.net, DNS:management.northcentralus1-a.control.database.windows.net, DNS:management.northcentralus.control.database.windows.net, DNS:admin.northcentralus1-a.control.database.windows.net, DNS:*.database.windows.net, DNS:*.secondary.database.windows.net, DNS:*.provisioning.database.windows.net
这是我所期望的,它与我试图在*.database.windows.net
.
但是,当我将相同的应用程序部署到 Azure 中时,SQL Server 似乎返回了具有以下 alt DNS 名称的不同证书:
DNS:tr1.northcentralus1-a.worker.database.windows.net, DNS:*.tr1.northcentralus1-a.worker.database.windows.net
这些名称与我尝试与之通信的服务器不匹配,因此我的客户端应用程序拒绝连接,因为它是不受信任的主机。
这里输入了一个类似的问题,但接受的解决方案是始终信任证书而不检查它。我的问题有所不同,因为我想验证证书,而不是盲目地信任证书。
以下是具体问题,总结如下:
Azure SQL Server 是否提供了无效证书?
假设它提供了一个无效的证书,我可以配置 Azure SQL Server 来提供一个有效的证书吗?
假设它提供了一个无效的证书,Azure SQL Server 是计划纠正这种行为,还是我们应该永远信任证书而不进行检查?