OPEN SYMMETRIC KEY (Transact-SQL)OPEN SYMMETRIC KEY (Transact-SQL)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Decrittografa una chiave simmetrica e la rende disponibile per l'uso.Decrypts a symmetric key and makes it available for use.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax


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'  

ArgomentiArguments

Key_nameKey_name
Nome della chiave simmetrica da aprire.Is the name of the symmetric key to be opened.

CERTIFICATO nome_certificatoCERTIFICATE certificate_name
Nome del certificato la cui chiave privata verrà utilizzata per decrittografare la chiave simmetrica.Is the name of a certificate whose private key will be used to decrypt the symmetric key.

CHIAVE asimmetrica asym_key_nameASYMMETRIC KEY asym_key_name
Nome della chiave asimmetrica la cui chiave privata verrà utilizzata per decrittografare la chiave simmetrica.Is the name of an asymmetric key whose private key will be used to decrypt the symmetric key.

CON la PASSWORD ='password'WITH PASSWORD ='password'
Password utilizzata per crittografare la chiave privata del certificato o la chiave asimmetrica.Is the password that was used to encrypt the private key of the certificate or asymmetric key.

CHIAVE SIMMETRICA decrypting_key_nameSYMMETRIC KEY decrypting_key_name
Nome della chiave simmetrica che verrà utilizzata per decrittografare la chiave simmetrica aperta.Is the name of a symmetric key that will be used to decrypt the symmetric key that is being opened.

PASSWORD ='password'PASSWORD ='password'
Password utilizzata per proteggere la chiave simmetrica.Is the password that was used to protect the symmetric key.

OsservazioniRemarks

Le chiavi simmetriche aperte sono associate alla sessione, non al contesto di sicurezza.Open symmetric keys are bound to the session not to the security context. Una chiave aperta resterà disponibile finché non viene chiusa in modo esplicito o la sessione non viene terminata.An open key will continue to be available until it is either explicitly closed or the session is terminated. Se si apre una chiave simmetrica e quindi si cambia contesto, la chiave resterà aperta e disponibile nel contesto rappresentato.If you open a symmetric key and then switch context, the key will remain open and be available in the impersonated context. Informazioni sulle chiavi simmetriche aperte sono visibili nella sys.openkeys ( Transact-SQL ) vista del catalogo.Information about open symmetric keys is visible in the sys.openkeys (Transact-SQL) catalog view.

Se la chiave simmetrica è stata crittografata con un'altra chiave, è necessario aprire innanzitutto la chiave.If the symmetric key was encrypted with another key, that key must be opened first.

Se la chiave simmetrica è già aperta, la query è un NO_OP.If the symmetric key is already open, the query is a NO_OP.

Se la password, la chiave o il certificato fornito per decrittografare la chiave simmetrica non è corretto, la query non verrà eseguita correttamente.If the password, certificate, or key supplied to decrypt the symmetric key is incorrect, the query will fail.

Non è possibile aprire chiavi simmetriche create da provider di crittografia.Symmetric keys created from encryption providers cannot be opened. Operazioni di crittografia e decrittografia usando questo tipo di chiave simmetrica esito positivo senza il aprire istruzione perché il Provider di crittografia ad aprire e chiudere la chiave.Encryption and decryption operations using this kind of symmetric key succeed without the OPEN statement because the Encryption Provider is opening and closing the key.

PermissionsPermissions

È 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.The caller must have some permission on the key and must not have been denied VIEW DEFINITION permission on the key. I requisisti aggiuntivi possono variare, in base al meccanismo di decrittografia.Additional requirements vary, depending on the decryption mechanism:

  • DECRYPTION BY CERTIFICATE: autorizzazione CONTROL per il certificato e password che crittografa la relativa chiave privata.DECRYPTION BY CERTIFICATE: CONTROL permission on the certificate and knowledge of the password that encrypts its private key.

  • DECRYPTION BY ASYMMETRIC KEY: autorizzazione CONTROL per la chiave asimmetrica e password che crittografa la relativa chiave privata.DECRYPTION BY ASYMMETRIC KEY: CONTROL permission on the asymmetric key and knowledge of the password that encrypts its private key.

  • DECRYPTION BY PASSWORD: una delle password utilizzate per crittografare la chiave simmetrica.DECRYPTION BY PASSWORD: knowledge of one of the passwords that is used to encrypt the symmetric key.

EsempiExamples

A.A. Apertura di una chiave simmetrica tramite un certificatoOpening a symmetric key by using a certificate

Nell'esempio seguente la chiave simmetrica SymKeyMarketing3 viene aperta e quindi decrittografata tramite la chiave privata del certificato MarketingCert9.The following example opens the symmetric key SymKeyMarketing3 and decrypts it by using the private key of certificate MarketingCert9.

USE AdventureWorks2012;  
OPEN SYMMETRIC KEY SymKeyMarketing3   
    DECRYPTION BY CERTIFICATE MarketingCert9;  
GO  

B.B. Apertura di una chiave simmetrica tramite un'altra chiave simmetricaOpening a symmetric key by using another symmetric key

Nell'esempio seguente la chiave simmetrica MarketingKey11 viene aperta e quindi decrittografata tramite la chiave simmetrica HarnpadoungsatayaSE3.The following example opens the symmetric key MarketingKey11 and decrypts it by using symmetric key HarnpadoungsatayaSE3.

USE AdventureWorks2012;  
-- 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 ancheSee Also

CREATE SYMMETRIC KEY (Transact-SQL) CREATE SYMMETRIC KEY (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL) ALTER SYMMETRIC KEY (Transact-SQL)
CLOSE SYMMETRIC KEY ( Transact-SQL ) CLOSE SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL) DROP SYMMETRIC KEY (Transact-SQL)
Gerarchia di crittografia Encryption Hierarchy
Extensible Key Management (EKM)Extensible Key Management (EKM)