Udostępnij za pośrednictwem


Tworzenie dostawcy usług KRYPTOGRAFICZNYCH (Transact-SQL)

Tworzy dostawca usług kryptograficznych w SQL Server z zarządzania klucza rozszerzonego (EKM) dostawca.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

CREATE CRYPTOGRAPHIC PROVIDER provider_name 
    FROM FILE = path_of_DLL

Argumenty

  • provider_name
    Jest to nazwa rozszerzonego Key Management dostawca.

  • path_of_DLL
    ścieżka pliku .dll, który implementuje SQL Server zarządzania klucza rozszerzonego interfejs.

Uwagi

Wszystkie klucze utworzone przez dostawca będzie odwoływać się do dostawca za pomocą identyfikatora GUID.Identyfikator GUID jest zachowywana przez wszystkie wersje pliku DLL.

Biblioteka DLL, który implementuje SQLEKM interfejs musi podpisać cyfrowo przy użyciu certyfikat.SQL Serverzostanie zweryfikowania podpisu.Obejmuje to jego łańcuch certyfikat musi mieć swoje główne zainstalowane w Trusted Root Cert Authorities lokalizacji w systemie Windows.Jeśli podpis nie jest poprawnie zweryfikowany, utworzyć dostawcy usług KRYPTOGRAFICZNYCH instrukcja nie powiedzie się.Aby uzyskać więcej informacji dotyczących certyfikatów i łańcuchów certyfikat , zobacz SQL Server certyfikaty i klucze asymetryczne.

Gdy dll dostawca EKM nie implementuje wszystkie niezbędne metody, utworzyć dostawcy usług KRYPTOGRAFICZNYCH może zwracać błąd 33085:

One or more methods cannot be found in cryptographic provider library '%.*ls'.

Gdy użyty do utworzenia biblioteki dll dostawca EKM pliku nagłówka jest data, utworzyć dostawcy usług KRYPTOGRAFICZNYCH może zwracać błąd 33032:

SQL Crypto API version '%02d. %02d' implemented by provider is not supported. Supported version is '%02d. %02d'.

Uprawnienia

Wymaga uprawnienie Kontrola kluczsymetrycznego.

Przykłady

Poniższy przykład tworzy kryptograficznych dostawca o nazwie SecurityProvider w SQL Server z pliku .dll.O nazwie pliku .dll c:\SecurityProvider\SecurityProvider_v1.dll i jest instalowany na serwerze.dostawca certyfikat musi być najpierw zainstalowany na serwerze.

-- Install the provider
CREATE CRYPTOGRAPHIC PROVIDER SecurityProvider
    FROM FILE = 'c:\SecurityProvider\SecurityProvider_v1.dll'