sql - 有没有办法更新证书而无需更改 SQL Server 配置管理器中的证书(的指纹)?
问题描述
我正在向 SQL 添加/更改证书(手动和通过 powershell 脚本)。
我找到证书-> 将其添加到 SQL(在配置管理器中手动或通过 powershell -> 将证书的指纹放入 SQL 注册表中)。这一切似乎工作正常。但是当我更新证书时(右键单击证书-> 所有任务->“使用新密钥更新证书...”),由于此证书到期或其他原因),旧指纹将保留在 SQL 注册表中,并且SQL 配置管理器将在证书所在的位置显示一个空行。
有没有办法更新证书而无需更改 SQL Server 配置管理器中的证书(的指纹)?
解决方案
你不能做这个。
指纹是证书中许多属性的哈希值。即使一个属性有细微差别,也会导致证书哈希值大不相同。
A(...) 指纹是一个计算字段,即不是证书数据本身的一部分。在 GUI 中,这些称为属性。在 shell 扩展中,指纹称为指纹,在 Certutil 输出中称为 Cert hash。由此我们可以推测指纹是某种散列或单向函数(OWF),其友好名称是指纹。
更新证书后,您只需运行 tSql 脚本即可更新 SQL Server 上的证书绑定。 这篇文章详细介绍了它的外观。
然后,您可以使用 PowerShell 的 SQL dbaTools 模块运行该脚本。
推荐阅读
- image-processing - 使用 skimage.color.gray2rgb 会产生错误的输出图像
- python - matplotlib 中的术语 viridis(用于颜色图)从何而来?
- sql - SQL中两个查询的合并结果
- clojure - 使用宏动态生成 reify 子句
- woocommerce - 木材和 WooCommerce 循环问题未显示价格
- node.js - 是否可以在我们的结构链代码/智能合约中使用外部节点模块?
- google-apps-script - 如何使用社区可视化 - 桑基图?
- python - 如何在 Python 中按最大日期分组
- aws-documentdb-mongoapi - 从 mongoDB 迁移后的 AWS DocumentDB 错误
- html - 是否可以使用 Puppeteer 将 PDF 转换为 HTML?