Dela via


ÖPPNA SYMMETRISK NYCKEL (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-databas i Förhandsversion av Microsoft Fabric

Dekrypterar en symmetrisk nyckel och gör den tillgänglig för användning.

Transact-SQL syntaxkonventioner

Note

Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.

Syntax

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'  

Arguments

Key_name
Är namnet på den symmetriska nyckel som ska öppnas.

CERTIFICATE certificate_name
Är namnet på ett certifikat vars privata nyckel ska användas för att dekryptera den symmetriska nyckeln.

ASYMMETRISK NYCKEL asym_key_name
Är namnet på en asymmetrisk nyckel vars privata nyckel ska användas för att dekryptera den symmetriska nyckeln.

MED LÖSENORD ='lösenord'
Är lösenordet som användes för att kryptera den privata nyckeln för certifikatet eller den asymmetriska nyckeln.

SYMMETRISK NYCKEL decrypting_key_name
Är namnet på en symmetrisk nyckel som ska användas för att dekryptera den symmetriska nyckel som öppnas.

PASSWORD ='password'
Är lösenordet som användes för att skydda den symmetriska nyckeln.

Remarks

Öppna symmetriska nycklar är bundna till sessionen, inte till säkerhetskontexten. En öppen nyckel fortsätter att vara tillgänglig tills den antingen uttryckligen stängs eller sessionen avslutas. Om du öppnar en symmetrisk nyckel och sedan byter kontext förblir nyckeln öppen och tillgänglig i den personifierade kontexten. Flera nycklar kan vara öppna samtidigt. Information om öppna symmetriska nycklar visas i katalogvyn sys.openkeys (Transact-SQL).

Om den symmetriska nyckeln krypterades med en annan nyckel måste den nyckeln öppnas först.

Om den symmetriska nyckeln redan är öppen är frågan en NO_OP.

Om lösenordet, certifikatet eller nyckeln som angavs för att dekryptera den symmetriska nyckeln är felaktig misslyckas frågan.

Symmetriska nycklar som skapats från krypteringsprovidrar kan inte öppnas. Krypterings- och dekrypteringsåtgärder med den här typen av symmetrisk nyckel lyckas utan OPEN-instruktionen eftersom krypteringsprovidern öppnar och stänger nyckeln.

Permissions

Anroparen måste ha viss behörighet för nyckeln och får inte ha nekats behörigheten VIEW DEFINITION på nyckeln. Ytterligare krav varierar beroende på dekrypteringsmekanismen:

  • DECRYPTION BY CERTIFICATE: CONTROL permission on the certificate and knowledge of the password that encrypts its private key (DECRYPTION BY CERTIFICATE: CONTROL permission on the certificate and knowledge of the password that encrypts its private key).

  • DECRYPTION BY ASYMMETRIC KEY: CONTROL permission on the asymmetric key and knowledge of the password that encrypts its private key (DECRYPTION BY ASYMMETRIC KEY: CONTROL permission on the asymmetric key and knowledge of the password that encrypts its private key).

  • DECRYPTION BY PASSWORD: kunskap om ett av de lösenord som används för att kryptera den symmetriska nyckeln.

Examples

A. Öppna en symmetrisk nyckel med hjälp av ett certifikat

I följande exempel öppnas den symmetriska nyckeln SymKeyMarketing3 och dekrypterar den med hjälp av certifikatets MarketingCert9privata nyckel .

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

B. Öppna en symmetrisk nyckel med hjälp av en annan symmetrisk nyckel

Följande exempel öppnar den symmetriska nyckeln MarketingKey11 och dekrypterar den med hjälp av symmetrisk nyckel HarnpadoungsatayaSE3.

USE AdventureWorks2022;  
-- 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   

See Also

SKAPA SYMMETRISK NYCKEL (Transact-SQL)
ÄNDRA SYMMETRISK NYCKEL (Transact-SQL)
STÄNG SYMMETRISK NYCKEL (Transact-SQL)
SLÄPP SYMMETRISK NYCKEL (Transact-SQL)
Encryption Hierarchy
Utökningsbar nyckelhantering (EKM)