代码之家  ›  专栏  ›  技术社区  ›  Tom H zenazn

颁发备份证书时出错

  •  0
  • Tom H zenazn  · 技术社区  · 14 年前

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

    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'
    

    因此,除非备份证书所使用的安全性与xp_cmdshell所使用的安全性不同(这是完全可能的),否则写入磁盘时不会出现问题。

    谷歌只找到了几个结果,似乎没有一个能解决这个问题。以前有人见过这个吗?知道是什么问题吗?

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  3
  •   Tom H zenazn    14 年前

    叹息…显然是 DECRYPTION BY PASSWORD (但不是 ENCRYPTION BY PASSWORD )必须与 按密码加密 CREATE CERTIFICATE 命令。我会把这个放在这里,以防将来有人和我一样的大脑打嗝。