Как главный ключ базы данных защищает сертификат - PullRequest
0 голосов
/ 28 мая 2019

В системе 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 голосов
/ 28 мая 2019

Закрытый ключ сертификата зашифрован с использованием главного ключа базы данных.
От CREATE CERTIFICATE :
ENCRYPTION BY PASSWORD = 'password'
Указывает пароль, используемый для шифрования закрытого ключа.Используйте эту опцию, только если вы хотите зашифровать сертификат паролем.Если этот пункт опущен, закрытый ключ шифруется с использованием главного ключа базы данных.Пароль должен соответствовать требованиям политики паролей Windows на компьютере, на котором запущен экземпляр SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...