Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Erstellt einen Kryptografieanbieter innerhalb SQL Server von einem EKM-Anbieter (Extensible Key Management) aus.
Transact-SQL-Syntaxkonventionen
Syntax
CREATE CRYPTOGRAPHIC PROVIDER provider_name
FROM FILE = path_of_DLL
Argumente
provider_name
Der Name des EKM-Anbieters (Extensible Key Management).
path_of_DLL
Der Pfad der DLL-Datei, die die erweiterbare Schlüsselverwaltungsschnittstelle von SQL Server implementiert. Wenn der SQL Server-Connector für Microsoft Azure Key Vault verwendet wird, lautet der Standardspeicherort C:\Programme\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll.
Bemerkungen
Alle von einem Anbieter erstellten Schlüssel verweisen über den GUID auf den Anbieter. Der GUID bleibt in allen Versionen der DLL erhalten.
Die DLL, die die SQLEKM-Schnittstelle implementiert, muss mit einem beliebigen Zertifikat digital signiert werden. SQL Server überprüft die Signatur. Diese Prüfung umfasst auch die Zertifikatskette, deren Stamm im Speicherort Trusted Root Cert Authorities auf einem Windows-System installiert sein muss. Wenn die Unterschrift nicht korrekt verifiziert wird, scheitert die CREATE CRYPTOGRAPHIC PROVIDER Aussage. Weitere Informationen zu Zertifikaten finden Sie unter SQL Server-Zertifikate und asymmetrische Schlüssel.
Wenn ein EKM-Anbieter dll nicht alle notwendigen Methoden implementiert, CREATE CRYPTOGRAPHIC PROVIDER kann der Fehler 33085 zurückgegeben werden:
One or more methods cannot be found in cryptographic provider library '%.*ls'.
Wenn die Headerdatei, die zur Erstellung der EKM-Provider-DLL verwendet wurde, veraltet ist, CREATE CRYPTOGRAPHIC PROVIDER kann der Fehler 33032 zurückgegeben werden:
SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.
Berechtigungen
Erfordert die CONTROL SERVER-Berechtigung oder die Mitgliedschaft in der festen Serverrolle sysadmin.
Beispiele
Im folgenden Beispiel wird ein Kryptografieanbieter mit dem Namen SecurityProvider in SQL Server aus einer DLL-Datei erstellt. Die DLL-Datei bekommt den Namen c:\SecurityProvider\SecurityProvider_v1.dll und wird auf dem Server installiert. Das Zertifikat des Anbieters muss zuerst auf dem Server installiert werden.
-- Install the provider
CREATE CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'C:\SecurityProvider\SecurityProvider_v1.dll';
Weitere Informationen
Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Erweiterbare Schlüsselverwaltung mit Azure Key Vault (SQL Server)
Einrichten der erweiterbaren Schlüsselverwaltung für SQL Server-TDE mit Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties