Share via


CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Erstellt einen Kryptografieanbieter innerhalb SQL Server von einem EKM-Anbieter (Extensible Key Management) aus.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

CREATE CRYPTOGRAPHIC PROVIDER provider_name 
    FROM FILE = path_of_DLL

Argumente

  • provider_name
    Der Name des EKM-Anbieters.

  • path_of_DLL
    Der Pfad der DLL-Datei, die die Extensible Key Management-Schnittstelle von SQL Server implementiert.

Hinweise

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 unter Verwendung eines Zertifikats digital signiert werden. SQL Server prüft die Gültigkeit der Signatur. In diese Prüfung wird auch die Zertifikatskette eingeschlossen, deren Stamm im Speicherort Trusted Root Cert Authorities auf einem Windows-System installiert sein muss. Wenn sich die Signatur bei der Überprüfung ihrer Gültigkeit als nicht ordnungsgemäß erweist, schlägt die Anweisung CREATE CRYPTOGRAPHIC PROVIDER fehl. Weitere Informationen zu Zertifikaten und Zertifikatketten finden Sie unter SQL Server-Zertifikate und asymmetrische Schlüssel.

Wenn von einer DLL des EKM-Anbieters nicht alle erforderlichen Methoden implementiert werden, kann CREATE CRYPTOGRAPHIC PROVIDER den Fehler 33085 zurückgeben:

Mindestens eine Methode wurde in der Kryptografieanbieterbibliothek '%.*ls' nicht gefunden.

Wenn die Headerdatei, mit der die DLL des EKM-Anbieters erstellt wurde, veraltet ist, kann CREATE CRYPTOGRAPHIC PROVIDER den Fehler 33032 zurückgeben:

Die vom Anbieter implementierte SQL CryptoAPI-Version '%02d.%02d' wird nicht unterstützt. Folgende Version wird unterstützt: '%02d.%02d'

Berechtigungen

Erfordert die CONTROL-Berechtigung für den symmetrischen Schlüssel.

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'