CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions)

Erstellt einen Kryptografieanbieter innerhalb SQL ServerSQL Server von einem EKM-Anbieter (Extensible Key Management) aus.Creates a cryptographic provider within SQL ServerSQL Server from an Extensible Key Management (EKM) provider.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumenteArguments

provider_nameprovider_name
Der Name des EKM-Anbieters (Extensible Key Management).Is the name of the Extensible Key Management provider.

path_of_DLLpath_of_DLL
Der Pfad der DLL-Datei, die die erweiterbare Schlüsselverwaltungsschnittstelle von SQL ServerSQL Server implementiert.Is the path of the .dll file that implements the SQL ServerSQL Server Extensible Key Management interface. Wenn der SQL Server-Connector für Microsoft Azure Key Vault verwendet wird, lautet der Standardspeicherort: C:\Program Files\Microsoft SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll.When using the SQL Server Connector for Microsoft Azure Key Vault the default location is 'C:\Program Files\Microsoft SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.

BemerkungenRemarks

Alle von einem Anbieter erstellten Schlüssel verweisen über den GUID auf den Anbieter.All keys created by a provider will reference the provider by its GUID. Der GUID bleibt in allen Versionen der DLL erhalten.The GUID is retained across all versions of the DLL.

Die DLL, die die SQLEKM-Schnittstelle implementiert, muss mit einem beliebigen Zertifikat digital signiert werden.The DLL that implements SQLEKM interface must be digitally signed by using any certificate. SQL ServerSQL Server überprüft die Signatur.will verify the signature. Diese Prüfung umfasst auch die Zertifikatskette, deren Stamm im Speicherort Trusted Root Cert Authorities auf einem Windows-System installiert sein muss.This includes its certificate chain, which must have its root installed at the Trusted Root Cert Authorities location on a Windows system. Wenn sich die Signatur bei der Überprüfung ihrer Gültigkeit als nicht ordnungsgemäß erweist, schlägt die Anweisung CREATE CRYPTOGRAPHIC PROVIDER fehl.If the signature is not verified correctly, the CREATE CRYPTOGRAPHIC PROVIDER statement will fail. Weitere Informationen zu Zertifikaten finden Sie unter SQL Server-Zertifikate und asymmetrische Schlüssel.For more information about certificates and certificate chains, see SQL Server Certificates and Asymmetric Keys.

Wenn von einer DLL des EKM-Anbieters nicht alle erforderlichen Methoden implementiert werden, kann CREATE CRYPTOGRAPHIC PROVIDER den Fehler 33085 zurückgeben:When an EKM provider dll does not implement all of the necessary methods, CREATE CRYPTOGRAPHIC PROVIDER can return error 33085:

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

Wenn die Headerdatei, mit der die DLL des EKM-Anbieters erstellt wurde, veraltet ist, kann CREATE CRYPTOGRAPHIC PROVIDER den Fehler 33032 zurückgeben:When the header file used to create the EKM provider dll is out of date, CREATE CRYPTOGRAPHIC PROVIDER can return error 33032:

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

BerechtigungenPermissions

Erfordert die CONTROL SERVER-Berechtigung oder die Mitgliedschaft in der festen Serverrolle sysadmin.Requires CONTROL SERVER permission or membership in the sysadmin fixed server role.

BeispieleExamples

Im folgenden Beispiel wird ein Kryptografieanbieter mit dem Namen SecurityProvider in SQL ServerSQL Server aus einer DLL-Datei erstellt.The following example creates a cryptographic provider called SecurityProvider in SQL ServerSQL Server from a .dll file. Die DLL-Datei bekommt den Namen c:\SecurityProvider\SecurityProvider_v1.dll und wird auf dem Server installiert.The .dll file is named c:\SecurityProvider\SecurityProvider_v1.dll and it is installed on the server. Das Zertifikat des Anbieters muss zuerst auf dem Server installiert werden.The provider's certificate must first be installed on the server.

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

Weitere InformationenSee Also

Erweiterbare Schlüsselverwaltung (EKM) Extensible Key Management (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL) ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL) DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL) CREATE SYMMETRIC KEY (Transact-SQL)
Erweiterbare Schlüsselverwaltung mit Azure Key Vault (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server)