有人能举例说明CERTENCODED吗?虽然我已经读过它,但我无法理解CERTENCODED函数的用途。
答案 0 :(得分: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(...)从证书中获取私钥,然后用于在另一个数据库中创建兼容证书。