OPEN SYMMETRIC KEY (Transact-SQL)
Decrittografa una chiave simmetrica e la rende disponibile per l'uso.
Le chiavi simmetriche aperte sono associate alla sessione, non al contesto di protezione. Una chiave aperta resterà disponibile finché non viene chiusa in modo esplicito o la sessione non viene terminata. Se si apre una chiave simmetrica e quindi si cambia contesto, la chiave resterà aperta e disponibile nel contesto rappresentato. Le informazioni sulle chiavi simmetriche aperte sono visibili nella vista del catalogo sys.openkeys (Transact-SQL).
Se la chiave simmetrica è stata crittografata con un'altra chiave, è necessario aprire innanzitutto la chiave.
Se la chiave simmetrica è già aperta, la query è di tipo NO_OP.
Se la password, la chiave o il certificato fornito per decrittografare la chiave simmetrica non è corretto, la query non verrà eseguita correttamente.
Non è possibile aprire chiavi simmetriche create da provider di crittografia. Le operazioni di crittografia e decrittografia che utilizzano questo tipo di chiave simmetrica vengono eseguite correttamente senza l'istruzione OPEN dato che è il Provider di crittografia ad aprire e chiudere la chiave.
È necessario che il chiamante disponga di un'autorizzazione per la chiave e che non gli sia stata negata l'autorizzazione VIEW DEFINITION per la chiave. I requisisti aggiuntivi possono variare, in base al meccanismo di decrittografia.
-
DECRYPTION BY CERTIFICATE: autorizzazione CONTROL per il certificato e password che crittografa la relativa chiave privata.
-
DECRYPTION BY ASYMMETRIC KEY: autorizzazione CONTROL per la chiave asimmetrica e password che crittografa la relativa chiave privata.
-
DECRYPTION BY PASSWORD: una delle password utilizzate per crittografare la chiave simmetrica.
A. Apertura di una chiave simmetrica tramite un certificato
Nell'esempio seguente la chiave simmetrica SymKeyMarketing3 viene aperta e quindi decrittografata tramite la chiave privata del certificato MarketingCert9.
USE AdventureWorks;
OPEN SYMMETRIC KEY SymKeyMarketing3
DECRYPTION BY CERTIFICATE MarketingCert9;
GO
B. Apertura di una chiave simmetrica tramite un'altra chiave simmetrica
Nell'esempio seguente la chiave simmetrica MarketingKey11 viene aperta e quindi decrittografata tramite la chiave simmetrica HarnpadoungsatayaSE3.
USE AdventureWorks;
-- 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
