2013-01-09 76 views
0

任何人都可以提供CERTENCODED的實例嗎?雖然我已經閱讀過,但我無法理解CERTENCODED函數的用途。哪裏可以使用CERTENCODED?

+0

我對這個函數一無所知,但[documentation](http://msdn.microsoft.com/en-us/library/hh510218.aspx)有兩個例子。你在做什麼與功能和你不明白?請注意,它僅存在於SQL Server 2012中,但您的問題被標記爲SQL Server 2008。 – Pondlife

回答

0

該函數返回相同的二進制格式.DEM證書的所有公開的數據,你會得到使用BACKUP CERTIFICATE聲明:

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(...)從證書中獲取私鑰,然後使用創建兼容證書在另一個數據庫中。