在SQL Server 2008 R2中恢复TDE加密证书时遇到错误。我正在使用为SSL配置的同一证书。以下是我已采取的步骤:
之后,我使用openSSL命令将私钥(.key)文件转换为.pvk:
openssl rsa -in private.key –outform PVK –pvk-strong -out private.pvk
现在,我正在尝试使用以下查询创建证书:
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])
但是我遇到以下错误:
消息15208,级别16,状态1,第1行证书,非对称密钥, 或私钥文件不存在或格式无效。
如果我在上述过程中做错了任何事情,请提出建议。
答案 0 :(得分:1)
通过深入研究此问题,我发现证书由于私钥的大小而无法还原。
我用于SSL证书的私钥的长度为4096位。但是根据TDE证书的SQL Server文档,私钥不得超过3456位。
以下是SQL Server文档的链接以供参考:
下面列出的是用于检查私钥长度的命令(为此,您需要openssl
实用程序):
openssl rsa -text -noout -in private.key
也许这些信息对面临相同问题的人有所帮助。