[英]Install a certificate (SSL Encryption) on SQL Server 2005 Express
[英]SQL Server 2005 create certificate with private key / encryption
好的,這是我的問題。 我正在使用數據庫主密鑰,證書和對稱密鑰在SQL Server 2005中進行數據加密。 我需要能夠使用私鑰還原證書。 但是,當我使用PRIVATE KEY運行CREATE CERTIFICATE時,證書被拉到DB中,但是私鑰沒有顯示。 以下是我遵循的測試步驟。
創建數據庫主密鑰。
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '12345'
創建證書
CREATE CERTIFICATE MyCert
WITH SUBJECT = 'My First Certificate',
EXPIRY_DATE = '1/1/2199';
創建使用MyCert加密的對稱密鑰。
CREATE SYMMETRIC KEY MySymmetricKey
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE MyCert
在select語句下面調用以顯示密鑰和證書。 他們是。 主數據庫密鑰,對稱密鑰和證書都在那里。
SELECT * FROM sys.symmetric_keys
SELECT * FROM sys.certificates
創建數據庫證書和密鑰的備份
請注意,我嘗試將它們放在同一文件夾中,但也不起作用。
BACKUP CERTIFICATE MyCert TO FILE = 'C:\SQLDatabase\MyCert\MyCert.cert'
WITH PRIVATE KEY ( FILE = 'C:\SQLDatabase\MyKey\MySymmetricKey.key' ,
ENCRYPTION BY PASSWORD = '12345' )
放下密鑰和證書,並確認它們已消失。
DROP SYMMETRIC KEY MySymmetricKey
DROP CERTIFICATE MyCert;
僅通過文件創建的證書沒有還原。 我用WITH PRIVATE KEY稱創建證書。
當我運行此證書時,將顯示證書,但密鑰不隨附。
我已經驗證它們在文件夾中,並且SQL可以訪問這些文件夾。
我也嘗試過使用私鑰更改證書,但仍然沒有。
我想念什么?
CREATE CERTIFICATE PayGoDBCert
FROM FILE = 'C:\SQLDatabase\MyCert\MyCert.cert'
WITH PRIVATE KEY (FILE = 'C:\SQLDatabase\MyKey\MySymmetricKey.key' ,
DECRYPTION BY PASSWORD = '12345')
SELECT * FROM sys.symmetric_keys
SELECT * FROM sys.certificates
在您的示例中,您刪除了對稱密鑰,但是不再重新創建它。
再次重新創建對稱密鑰,然后還原證書。
請注意:用於保護備份證書的密碼與用於加密證書私鑰的密碼不同。
讓我們知道是否可以解決您的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.