OPEN SYMMETRIC KEY (Transact-SQL)
Descriptografa uma chave simétrica e a disponibiliza para uso.
Sintaxe
OPEN SYMMETRIC KEY Key_name DECRYPTION BY <decryption_mechanism>
<decryption_mechanism> ::=
CERTIFICATE certificate_name [ WITH PASSWORD = 'password' ]
|
ASYMMETRIC KEY asym_key_name [ WITH PASSWORD = 'password' ]
|
SYMMETRIC KEY decrypting_Key_name
|
PASSWORD = 'decryption_password'
Argumentos
Key_name
É o nome da chave simétrica a ser aberta.CERTIFICATE certificate_name
É o nome de um certificado cuja chave privada será usada para descriptografar a chave simétrica.ASYMMETRIC KEY asym_key_name
É o nome de uma chave assimétrica cuja chave privada será usada para descriptografar a chave simétrica.WITH PASSWORD = 'password'
É a senha que foi usada para criptografar a chave privada do certificado ou chave assimétrica.SYMMETRIC KEY decrypting_key_name
É o nome de uma chave simétrica que será usada para descriptografar a chave simétrica sendo aberta.PASSWORD = 'password'
É a senha que foi usada para proteger a chave simétrica.
Comentários
As chaves simétricas abertas estão associadas à sessão que não está no contexto de segurança. Uma chave aberta continuará disponível até ser explicitamente fechada ou a sessão ser encerrada. Se você abrir uma chave simétrica e alterar o contexto, ela permanecerá aberta e estará disponível no contexto representado. As informações sobre chaves simétricas abertas podem ser visualizadas na exibição de catálogo sys.openkeys (Transact-SQL).
Se a chave simétrica tiver sido criptografada com outra chave, essa chave deverá ser aberta primeiro.
Se a chave simétrica já estiver aberta, a consulta será um NO_OP.
Se a senha, chave ou certificado fornecido para descriptografar a chave simétrica estiver incorreto, a consulta falhará.
As chaves simétricas criadas de provedores de criptografia não podem ser abertas. As operações de criptografia e descriptografia que usam esse tipo de chave simétrica dão certo sem a instrução OPEN porque o provedor de criptografia está abrindo e fechando a chave.
Permissões
O chamador deve ter alguma permissão na chave, e a permissão VIEW DEFINITION não deve ter sido negada a ele na chave. Os requisitos adicionais variam, dependendo do mecanismo de descriptografia:
DECRYPTION BY CERTIFICATE: permissão CONTROL no certificado e conhecimento da senha que criptografa sua chave privada.
DECRYPTION BY ASYMMETRIC KEY: permissão CONTROL na chave assimétrica e conhecimento da senha que criptografa sua chave privada.
DECRYPTION BY PASSWORD: conhecimento de uma das senhas usadas para criptografar a chave simétrica.
Exemplos
A. Abrindo uma chave simétrica usando um certificado
O exemplo seguinte abre a chave simétrica SymKeyMarketing3 e a descriptografa usando a chave privada de certificado MarketingCert9.
USE AdventureWorks2008R2;
OPEN SYMMETRIC KEY SymKeyMarketing3
DECRYPTION BY CERTIFICATE MarketingCert9;
GO
B. Abrindo uma chave simétrica usando outra chave simétrica
O exemplo seguinte abre a chave simétrica MarketingKey11 e a descriptografa usando a chave simétrica HarnpadoungsatayaSE3.
USE AdventureWorks2008R2;
-- First open the symmetric key that you want for decryption.
OPEN SYMMETRIC KEY HarnpadoungsatayaSE3
DECRYPTION BY CERTIFICATE sariyaCert01;
-- Use the key that is already open to decrypt MarketingKey11.
OPEN SYMMETRIC KEY MarketingKey11
DECRYPTION BY SYMMETRIC KEY HarnpadoungsatayaSE3;
GO