Język

SqlColumnEncryptionCngProvider Klasa

Definicja

Implementacja dostawcy magazynu cmK na potrzeby korzystania z interfejsu API kryptografii Microsoft: następnej generacji (CNG) z Always Encrypted.

public ref class SqlColumnEncryptionCngProvider : Microsoft::Data::SqlClient::SqlColumnEncryptionKeyStoreProvider
public class SqlColumnEncryptionCngProvider : Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider
type SqlColumnEncryptionCngProvider = class
    inherit SqlColumnEncryptionKeyStoreProvider
Public Class SqlColumnEncryptionCngProvider
Inherits SqlColumnEncryptionKeyStoreProvider
Dziedziczenie
SqlColumnEncryptionCngProvider

Uwagi

Umożliwia przechowywanie kluczy klucza głównego kolumny Always Encrypted w magazynie, takich jak sprzętowy moduł zabezpieczeń (HSM), który obsługuje interfejs API kryptografii Microsoft: Następna generacja (CNG).

Konstruktory

Nazwisko Opis
SqlColumnEncryptionCngProvider()

Implementacja dostawcy magazynu cmK na potrzeby korzystania z interfejsu API kryptografii Microsoft: następnej generacji (CNG) z Always Encrypted.

Pola

Nazwisko Opis
ProviderName

Ciąg stały dla nazwy MSSQL_CNG_STORE>dostawcy .

Właściwości

Nazwisko Opis
ColumnEncryptionKeyCacheTtl

Pobiera lub ustawia żywotność odszyfrowanego klucza szyfrowania kolumny w pamięci podręcznej. Po upływie przedziału czasu odszyfrowany klucz szyfrowania kolumny zostanie odrzucony i musi zostać ponownie odwołany.

(Odziedziczone po SqlColumnEncryptionKeyStoreProvider)

Metody

Nazwisko Opis
DecryptColumnEncryptionKey(String, String, Byte[])

Odszyfrowuje daną zaszyfrowaną wartość przy użyciu klucza asymetrycznego określonego przez ścieżkę klucza i określony algorytm. Ścieżka klucza będzie mieć format [ProviderName]/KeyIdentifier i powinna być kluczem asymetrycznym przechowywanym w określonym dostawcy magazynu kluczy CNG. Prawidłowy algorytm używany do szyfrowania/odszyfrowywania klucza CEK to RSA_OAEP.

DecryptColumnEncryptionKeyAsync(String, String, Byte[], CancellationToken)

Asynchronicznie odszyfrowuje określoną zaszyfrowaną wartość klucza szyfrowania kolumny. Oczekuje się, że zaszyfrowana wartość będzie szyfrowana przy użyciu klucza głównego kolumny z określoną ścieżką klucza i przy użyciu określonego algorytmu.

(Odziedziczone po SqlColumnEncryptionKeyStoreProvider)
EncryptColumnEncryptionKey(String, String, Byte[])

Szyfruje dany klucz szyfrowania kolumny zwykłego tekstu przy użyciu klucza asymetrycznego określonego przez ścieżkę klucza i określony algorytm. Ścieżka klucza będzie mieć format [ProviderName]/KeyIdentifier i powinna być kluczem asymetrycznym przechowywanym w określonym dostawcy magazynu kluczy CNG. Prawidłowy algorytm używany do szyfrowania/odszyfrowywania klucza CEK to RSA_OAEP.

EncryptColumnEncryptionKeyAsync(String, String, Byte[], CancellationToken)

Asynchronicznie szyfruje klucz szyfrowania kolumny przy użyciu klucza głównego kolumny z określoną ścieżką klucza i przy użyciu określonego algorytmu.

(Odziedziczone po SqlColumnEncryptionKeyStoreProvider)
SignColumnMasterKeyMetadata(String, Boolean)

Zgłasza wyjątek NotSupportedException we wszystkich przypadkach.

SignColumnMasterKeyMetadataAsync(String, Boolean, CancellationToken)

W przypadku implementacji w klasie pochodnej asynchronicznie podpisuje metadane klucza głównego kolumny przy użyciu klucza głównego kolumny, do których odwołuje się masterKeyPath parametr .

(Odziedziczone po SqlColumnEncryptionKeyStoreProvider)
VerifyColumnMasterKeyMetadata(String, Boolean, Byte[])

Ta funkcja musi zostać zaimplementowana przez odpowiednich dostawców magazynu kluczy. Ta funkcja powinna używać klucza asymetrycznego identyfikowanego przez ścieżkę klucza i weryfikować metadane klucza głównego składające się z (masterKeyPath, allowEnclaveComputations, providerName).

VerifyColumnMasterKeyMetadataAsync(String, Boolean, Byte[], CancellationToken)

Po zaimplementowaniu w klasie pochodnej asynchronicznie sprawdza, czy określony podpis jest prawidłowy dla klucza głównego kolumny z określoną ścieżką klucza i określonym zachowaniem enklawy. Domyślna implementacja zwraca uszkodzone zadanie z NotImplementedException.

(Odziedziczone po SqlColumnEncryptionKeyStoreProvider)

Dotyczy