我已將證書導入SQL Server數據庫。如何從SQL Server獲取證書公鑰?
create certificate MyCertificate from file = 'c:\certificate.cer';
現在我想檢索該證書的公鑰。怎麼做 ?
我可以做
select * from sys.certificates
,但沒有公開鍵列。
我知道我可以通過
backup certificate MyCertificate to file = 'c:\MyCertificate.cer';
其保存到磁盤,但是這不是我想要的。我只需要數據庫告訴我公鑰或以某種方式讓我完整的證書,但我不想使用文件。
編輯:
我想使用SQL Server和證書來驗證一排數字簽名數據庫表。但是由於功能VerifySignedByCert不檢查證書到期日期(根據此注意:加密和簽名的內置函數不檢查證書的過期日期,這些函數的用戶必須決定何時檢查證書到期在http://msdn.microsoft.com/en-US/library/ms187798%28v=SQL.90%29.aspx)我必須在C#代碼中手動完成。
這就是爲什麼我想獲得證書公鑰和截止日期(可以在sys.certificates中找到)。但是,似乎將證書存儲在表中的varbinary列中是最佳選擇。或者還有其他更好的方法來實現這個目標嗎?
謝謝您的幫助
謝謝你的回答。我編輯了問題並添加了更多細節。 – Harlsten