OPEN SYMMETRIC KEY (Transact-SQL)

Decrittografa una chiave simmetrica e la rende disponibile per l'uso.

Icona di collegamento a un argomentoConvenzioni 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)

Altre risorse

Gerarchia di crittografia

Guida in linea e informazioni

Assistenza su SQL Server 2005