0

在 SQL Server 2008 R2 中恢复 TDE 加密证书时遇到错误。我正在使用为 SSL 配置的相同证书。以下是我已采取的步骤:

  1. 首先将.crt 文件转换为.cer。
  2. 之后,我使用 openSSL 命令将私钥(.key)文件转换为 .pvk: openssl rsa -in private.key –outform PVK –pvk-strong -out private.pvk

  3. 现在我正在尝试使用以下查询创建证书:

    CREATE CERTIFICATE TDE_Cert1 FROM FILE = [Path to .cer file]' WITH PRIVATE KEY (FILE=[Path to .pvk file],DECRYPTION BY PASSWORD = [Password used to encrypt .pvk file])

但我收到以下错误:

Msg 15208, Level 16, State 1, Line 1 证书、非对称密钥或私钥文件不存在或格式无效。

请建议,如果我在上述过程中做错了什么。

4

1 回答 1

1

通过深入研究这个问题的更多细节,我发现由于私钥的大小,证书没有恢复。

我用于 SSL 证书的私钥长度为 4096 位。但根据 TDE 证书的 SQL Server 文档,私钥不应超过 3456 位。

以下是 SQL Server 文档的链接供参考:

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-certificate-transact-sql?view=sql-server-2017(查看备注部分)

下面列出的是检查私钥长度的命令(您需要openssl实用程序):

openssl rsa -text -noout -in private.key

也许这些信息对面临同样问题的人会有所帮助。

于 2018-08-03T06:54:55.370 回答