我正在我的一个数据库中创建一个证书,它没有问题。但是,当我尝试备份该证书以便将其移植到另一个数据库时,我收到以下错误消息:
An error occurred during decryption.
这是我的备用声明:
BACKUP CERTIFICATE test_certs TO FILE = 'C:\test_certs.cer'
WITH PRIVATE KEY (FILE = 'C:\test_certs.pvk',
ENCRYPTION BY PASSWORD = 'SomePassw0rd',
DECRYPTION BY PASSWORD = 'SomeOtherPassw0rd')
为了安全起见,我检查过服务器有一个C:\驱动器:
EXEC xp_cmdshell 'DIR C:\'
我也确认我可以用以下地址写信:
EXEC xp_cmdshell 'echo test > C:\test.txt'
因此,除非BACKUP CERTIFICATE使用的安全性与xp_cmdshell的安全性不同(完全可能),否则写入磁盘不是问题。
谷歌只收到了一些结果,似乎没有人解决这个问题。有没有其他人见过这个?知道问题是什么吗?谢谢!
答案 0 :(得分:3)
叹息......显然DECRYPTION BY PASSWORD
(但不是ENCRYPTION BY PASSWORD
)必须与ENCRYPTION BY PASSWORD
命令的CREATE CERTIFICATE
匹配。我会把这个放在这里,以防将来其他人有我刚刚做过的脑挫伤。