Не удается найти симметричный ключ в SQL Server 2008 - PullRequest
3 голосов
/ 08 июля 2011

У меня проблема с правами доступа к использованию симметричного ключа под определенным именем пользователя при выполнении хранимой процедуры.

Несмотря на выполнение

GRANT CONTROL ON CERTIFICATE::myCert TO myUser
GRANT VIEW DEFINITION ON SYMMETRIC KEY::myKey TO myUser

Я все еще получаю ту же ошибку:

Не удается найти симметричный ключ «myKey», поскольку он не существует или у вас нет разрешения.

Установлены мастер-ключ, сертификат и симметричный ключв базе данных имя пользователя относится к.

Если я запускаю SP под аутентификацией Windows, он работает нормально.

Вот хранимая процедура:

OPEN SYMMETRIC KEY myKey DECRYPTION
BY CERTIFICATE myCert

INSERT INTO sp_Password
(billEncryptPassword)
VALUES(ENCRYPTBYKEY(KEY_GUID('myKey'),@billEncryptPassword))

RETURN @@IDENTITY       
CLOSE SYMMETRIC KEY myKey 

Что япропустил?

Ответы [ 2 ]

0 голосов
/ 01 августа 2012

После этого вам не хватает CLOSE MASTER KEY, и это портит ваши последующие шифрования / расшифровки.

0 голосов
/ 26 июля 2011

У меня такая же проблема, даже когда я запускаю его как SysAdmin.

Чтобы обойти это, я в настоящее время закрываю все открытые ключи, что работает нормально.Я бы предпочел закрыть только то, что у меня было открыто.

ЗАКРЫТЬ ВСЕ СИММЕТРИЧЕСКИЕ КЛЮЧИ;

--- Приложение

Я только что попробовал это с шифрованием AES_256 и DESAES_256 работал на моем конце.

...