SQL Server EncryptByKey с поставщиком EKM

Я хочу использовать команду Transact-SQL EncryptByKey в базе данных SQL Server. И я хочу использовать внешнего поставщика ключей (EKM) для хранения ключа.

Я успешно создал симметричный ключ «symmetric_key» с помощью команды:

      USE master ;
GO

CREATE SYMMETRIC KEY symmetric_key
FROM PROVIDER EKM_Prov
WITH ALGORITHM = AES_256,
PROVIDER_KEY_NAME = 'symmetric_key' ;
GO

Я вижу ключ у внешнего поставщика ключей и в таблице.sys.symmetric_keys.

Теперь я просто хочу зашифровать некоторые данные, например:

      SELECT EncryptByKey(Key_GUID('symmetric_key'), 'Highest') AS CipherText;

Но он всегда возвращает NULL.

Открытие ключа не требуется для внешних ключей, как описано в: https://learn.microsoft.com/en-us/sql/t-sql/statements/open-symmetric-key-transact-sql?view=sql- сервер-версия16

Что мне не хватает?

Нужно ли мне привязывать «symmetric_key» к логину? Если да, то как?

0 ответов

Другие вопросы по тегам