发出BACKUP CERTIFICATE时出错

时间:2010-08-11 16:38:19

标签: sql-server sql-server-2008 certificate

我正在我的一个数据库中创建一个证书,它没有问题。但是,当我尝试备份该证书以便将其移植到另一个数据库时,我收到以下错误消息:

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的安全性不同(完全可能),否则写入磁盘不是问题。

谷歌只收到了一些结果,似乎没有人解决这个问题。有没有其他人见过这个?知道问题是什么吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

叹息......显然DECRYPTION BY PASSWORD(但不是ENCRYPTION BY PASSWORD)必须与ENCRYPTION BY PASSWORD命令的CREATE CERTIFICATE匹配。我会把这个放在这里,以防将来其他人有我刚刚做过的脑挫伤。