数据库主密钥如何保护证书

时间:2019-05-28 15:00:01

标签: sql-server

在Sql Server系统中,如果需要创建对称密钥,则需要首先创建一个数据库主密钥,然后是一个证书,然后是对称密钥,并使用以下代码:

-- Create database master key
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘GoodLuckWithExam!’
-- Create certificate
CREATE CERTIFICATE Cert_BAN
WITH SUBJECT = ‘Bank Account Number’;
-- Create SMK
CREATE SYMMETRIC KEY Key_BAN
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE Cert_BAN;

从这里我们可以看到SMK受证书保护。但是证书不受数据库主密钥保护,那么我的问题是为什么我们根本需要数据库主密钥?

谢谢

1 个答案:

答案 0 :(得分:0)

证书私钥使用数据库主密钥加密。
来自CREATE CERTIFICATE
密码加密='密码'
指定用于加密私钥的密码。仅当您要使用密码加密证书时才使用此选项。如果省略此子句,则使用数据库主密钥对私钥进行加密。密码必须符合运行SQL Server实例的计算机的Windows密码策略要求。