В системе 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;
Отсюда видно, что СМК защищен сертификатом. Однако сертификат НЕ защищен главным ключом базы данных, тогда мой вопрос: зачем нам вообще нужен главный ключ базы данных?
Спасибо
Закрытый ключ сертификата шифруется с помощью главного ключа базы данных.
От СОЗДАТЬ СЕРТИФИКАТ:
ШИФРОВАНИЕ ПАРОЛЕМ = 'пароль'
Указывает пароль, используемый для шифрования закрытого ключа. Используйте этот параметр, только если вы хотите зашифровать сертификат паролем. Если это предложение опущено, закрытый ключ шифруется с помощью главного ключа базы данных. Пароль должен соответствовать требованиям политики паролей Windows для компьютера, на котором запущен экземпляр SQL Server.