Udostępnij za pomocą


OTWÓRZ KLUCZ SYMETRYCZNY (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL database w usłudze Microsoft Fabric

Odszyfrowuje klucz symetryczny i udostępnia go do użycia.

Transact-SQL konwencje składni

Note

Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze 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
To nazwa klucza symetrycznego, który ma zostać otwarty.

certificate_name CERTYFIKATU
To nazwa certyfikatu, którego klucz prywatny będzie używany do odszyfrowywania klucza symetrycznego.

ASYM_KEY_NAME KLUCZA ASYMETRYCZNEGO
To nazwa klucza asymetrycznego, którego klucz prywatny będzie używany do odszyfrowywania klucza symetrycznego.

Z HASŁEM ='password'
To hasło, które zostało użyte do zaszyfrowania klucza prywatnego certyfikatu lub klucza asymetrycznego.

DECRYPTING_KEY_NAME KLUCZ SYMETRYCZNY
To nazwa klucza symetrycznego, który będzie używany do odszyfrowywania otwieranego klucza symetrycznego.

HASŁO ='hasło'
Czy hasło, które zostało użyte do ochrony klucza symetrycznego.

Remarks

Otwarte klucze symetryczne są powiązane z sesją, a nie kontekstem zabezpieczeń. Otwarty klucz będzie nadal dostępny, dopóki nie zostanie jawnie zamknięty lub sesja zostanie zakończona. Jeśli otworzysz klucz symetryczny, a następnie przełączysz kontekst, klucz pozostanie otwarty i będzie dostępny w kontekście personifikowanym. Jednocześnie można otworzyć wiele kluczy. Informacje o otwartych kluczach symetrycznych są widoczne w widoku katalogu sys.openkeys (Transact-SQL).

Jeśli klucz symetryczny został zaszyfrowany przy użyciu innego klucza, należy go najpierw otworzyć.

Jeśli klucz symetryczny jest już otwarty, zapytanie jest NO_OP.

Jeśli hasło, certyfikat lub klucz dostarczony do odszyfrowania klucza symetrycznego jest niepoprawne, zapytanie zakończy się niepowodzeniem.

Nie można otworzyć kluczy symetrycznych utworzonych na podstawie dostawców szyfrowania. Operacje szyfrowania i odszyfrowywania przy użyciu tego rodzaju klucza symetrycznego kończą się powodzeniem bez instrukcji OPEN , ponieważ dostawca szyfrowania otwiera i zamyka klucz.

Permissions

Obiekt wywołujący musi mieć jakieś uprawnienia do klucza i nie może być odrzucony uprawnienie WYŚWIETL DEFINICJĘ klucza. Dodatkowe wymagania różnią się w zależności od mechanizmu odszyfrowywania:

  • ODSZYFROWYWANIE WEDŁUG CERTYFIKATU: UPRAWNIENIE KONTROLA certyfikatu i znajomość hasła szyfrującego jego klucz prywatny.

  • ODSZYFROWYWANIE WEDŁUG KLUCZA ASYMETRYCZNEGO: UPRAWNIENIA KONTROLI klucza asymetrycznego i wiedzy o haśle, które szyfruje jego klucz prywatny.

  • ODSZYFROWYWANIE WEDŁUG HASŁA: znajomość jednego z haseł używanych do szyfrowania klucza symetrycznego.

Examples

A. Otwieranie klucza symetrycznego przy użyciu certyfikatu

Poniższy przykład otwiera klucz SymKeyMarketing3 symetryczny i odszyfrowuje go przy użyciu klucza prywatnego certyfikatu MarketingCert9.

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

B. Otwieranie klucza symetrycznego przy użyciu innego klucza symetrycznego

Poniższy przykład otwiera klucz MarketingKey11 symetryczny i odszyfrowuje go przy użyciu klucza HarnpadoungsatayaSE3symetrycznego .

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   

Zobacz też

TWORZENIE KLUCZA SYMETRYCZNEGO (Transact-SQL)
ZMIENIJ KLUCZ SYMETRYCZNY (Transact-SQL)
ZAMKNIJ KLUCZ SYMETRYCZNY (Transact-SQL)
ZRZUĆ KLUCZ SYMETRYCZNY (Transact-SQL)
Hierarchia szyfrowania
Zarządzanie kluczami rozszerzalnymi (EKM)