0

谁能给出 CERTENCODED 的活生生的例子?尽管我已经阅读过 CERTENCODED 函数的用途,但我无法理解它。

4

1 回答 1

0

该函数以您使用 BACKUP CERTIFICATE 语句获得的相同二进制 .DEM 格式返回证书的所有公共数据:

CREATE CERTIFICATE cert1
      ENCRYPTION BY PASSWORD = 'password'
      WITH SUBJECT = 'My test cert';

backup certificate cert1 to file = 'cert1.cer'

select CERTENCODED(CERT_ID('cert1'))
select * FROM OPENROWSET(BULK N'c:/.../cert1.cer', SINGLE_BLOB) rs;

您应该看到 SELECT 返回的两个数据字符串是相同的。

然后,您可以将 blob 传输到另一个数据库并从中创建一个新证书(“CREATE CERTIFICATE ... FROM BINARY = 0x”,这样您就可以使用一个证书对数据进行编码并使用另一个证书进行解码。考虑这个函数作为另一种保存证书的方法,但不使用文件系统。

非常相似,您可以使用 CERTPRIVATEKEY(...) 从证书中获取私钥,然后用于在另一个数据库中创建兼容的证书。

于 2013-09-21T14:43:30.587 回答