我正在尝试使用证书为我的SQL服务器创建安全连接。我已生成CA证书并使用它来使用XCA工具签署从属证书。
在本地计算机“个人”存储中安装证书,在“受信任的根权限”存储中安装CA.还在“管理私钥 - >安全性”选项中添加了SQL Server用户,并为SQL用户授予“MSSQL”安装文件夹的权限。
我能够在“SQl Server Configuration Manager - > SQL Server网络配置”中看到证书并添加了证书。将“强制加密”选项设置为“是”。
现在,当我重新启动SQL服务器时,出现以下错误:
服务器无法加载启动SSL所需的证书 连接。它返回以下错误:0x8009030d。校验 证书以确保它们有效。
启动数据库'模型'。
服务器名称为“VCE-W0031”。这仅是一条信息性消息。没有 用户操作是必需的。
错误:26014,严重性:16,状态:1。无法加载用户指定的 证书[Cert Hash(sha1)“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”]。 服务器不接受连接。你应该核实一下 证书已正确安装。请参阅“为其配置证书” “在联机丛书中使用SSL”。
错误:17182,严重性:16,状态:1。
TDSSNIClient初始化失败,错误0x80092004,状态代码 0x80的。原因:无法初始化SSL支持。找不到对象或 属性。
错误:17182,严重性:16,状态:1。
TDSSNIClient初始化 失败,错误0x80092004,状态代码0x1。原因:初始化 因基础结构错误而失败。检查以前的错误。不能 找到对象或财产。
错误:17826,严重性:18,状态:3。
无法启动网络 库因为网络库中的内部错误。至 确定原因,检查紧接在此之前的错误 在错误日志中。
我使用Openssl工具创建了另一个CA和证书,并分别在受信任的机构和个人商店中进行了安装。添加此证书 “SQl服务器配置管理器 - > SQL Server网络配置”并添加了证书。将“强制加密”选项设置为“是”。
没有任何进一步设置,我可以运行SQL服务器,并在客户端连接时建立加密连接。
请让我知道为什么在使用XCA而不是Openssl生成证书时可能会发生此错误。
我想问的问题是,使用由现有证书颁发机构签名而不是使用openssl创建CA的证书可能会导致任何问题吗?
答案 0 :(得分:0)
遇到同样的问题:在两个配置单元之间复制了个人证书。证书可用,但重启后服务无法使用此错误:SEC_E_UNKNOWN_CREDENTIALS(0x8009030D)。
通过启动Protected Storage Service并将证书直接重新导入计算机个人配置单件来解决。