OPEN SYMMETRIC KEY (Transact-SQL)
Decrittografa una chiave simmetrica e la rende disponibile per l'uso.
Convenzioni della sintassi Transact-SQL
Sintassi
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'
Argomenti
- Key_name
Nome della chiave simmetrica da aprire.
- CERTIFICATE certificate_name
Nome del certificato la cui chiave privata verrà utilizzata per decrittografare la chiave simmetrica.
- ASYMMETRIC KEY asym_key_name
Nome della chiave asimmetrica la cui chiave privata verrà utilizzata per decrittografare la chiave simmetrica.
- WITH PASSWORD ='password'
Password utilizzata per crittografare la chiave privata del certificato o la chiave asimmetrica.
- SYMMETRIC KEY decrypting_key_name
Nome della chiave simmetrica che verrà utilizzata per decrittografare la chiave simmetrica aperta.
- PASSWORD ='password'
Password utilizzata per proteggere la chiave simmetrica.
Osservazioni
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 è NO_OP.
Se la password, la chiave o il certificato fornito per decrittografare la chiave simmetrica non è corretto, la query non verrà eseguita correttamente.
Autorizzazioni
Il chiamante deve disporre di autorizzazioni per la chiave e non gli deve essere stata negata l'autorizzazione VIEW 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.
Esempi
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
Vedere anche
Riferimento
CREATE SYMMETRIC KEY (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL)
CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)