(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

CREATE ASYMMETRIC KEY (Transact-SQL)

Erstellt einen asymmetrischen Schlüssel in der Datenbank.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

CREATE ASYMMETRIC KEY Asym_Key_Name 
   [ AUTHORIZATION database_principal_name ]
   {
      [ FROM <Asym_Key_Source> ]
      |
      WITH <key_option>
   [ ENCRYPTION BY <encrypting_mechanism> ]

<Asym_Key_Source>::=
   FILE = 'path_to_strong-name_file'
   |
   EXECUTABLE FILE = 'path_to_executable_file'
   |
   ASSEMBLY Assembly_Name
   |
   PROVIDER Provider_Name 

<key_option> ::=
   ALGORITHM = <algorithm>
      |
   PROVIDER_KEY_NAME = 'key_name_in_provider'
      |
      CREATION_DISPOSITION = { CREATE_NEW | OPEN_EXISTING }

<algorithm> ::=
      { RSA_512 | RSA_1024 | RSA_2048 } 

<encrypting_mechanism> ::=
    PASSWORD = 'password' 
FROM Asym_Key_Source

Gibt die Quelle an, aus der das asymmetrische Schlüsselpaar geladen werden soll.

AUTHORIZATION database_principal_name

Gibt den Besitzer des asymmetrischen Schlüssels an. Eine Rolle oder Gruppe kann nicht als Besitzer angegeben sein. Wird diese Option ausgelassen, wird der aktuelle Benutzer als Besitzer verwendet.

FILE ='path_to_strong-name_file'

Gibt den Pfad zu einer Datei mit starkem Namen an, aus der das Schlüsselpaar geladen werden soll.

Hinweis Hinweis

Diese Option ist in einer enthaltenen Datenbank nicht verfügbar.

EXECUTABLE FILE ='path_to_executable_file'

Gibt eine Assemblydatei an, aus der der öffentliche Schlüssel geladen werden soll. Beschränkt auf 260 Zeichen von MAX_PATH von der Windows-API.

Hinweis Hinweis

Diese Option ist in einer enthaltenen Datenbank nicht verfügbar.

ASSEMBLY Assembly_Name

Gibt den Namen einer Assembly an, aus der der öffentliche Schlüssel geladen werden soll.

ENCRYPTION BY <key_name_in_provider>

Gibt die Verschlüsselungsart des Schlüssels an. Dabei kann es sich um ein Zertifikat, ein Kennwort oder einen asymmetrischen Schlüssel handeln.

KEY_NAME ='key_name_in_provider'

Gibt den Schlüsselnamen des externen Anbieters an. Weitere Informationen zur Verwaltung externer Schlüssel finden Sie unter Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM).

CREATION_DISPOSITION = CREATE_NEW

Erstellt einen neuen Schlüssel auf dem Extensible Key Management-Gerät. PROV_KEY_NAME muss verwendet werden, um Schlüsselnamen auf dem Gerät anzugeben. Wenn bereits ein Schlüssel auf dem Gerät vorhanden ist, gibt die Anweisung eine Fehlermeldung zurück.

CREATION_DISPOSITION = OPEN_EXISTING

Ordnet einen asymmetrischen Schlüssel von SQL Server einem vorhandenen Extensible Key Management-Schlüssel zu. PROV_KEY_NAME muss verwendet werden, um Schlüsselnamen auf dem Gerät anzugeben. Wenn CREATION_DISPOSITION = OPEN_EXISTING nicht bereitgestellt wird, ist der Standardwert CREATE_NEW.

PASSWORD = 'password'

Gibt das Kennwort an, mit dem der private Schlüssel verschlüsselt werden soll. Wenn diese Klausel nicht vorhanden ist, wird der private Schlüssel mit dem Datenbank-Hauptschlüssel verschlüsselt. password kann maximal 128 Zeichen umfassen. password muss den Anforderungen der Windows-Kennwortrichtlinien des Computers entsprechen, auf dem die Instanz von SQL Server ausgeführt wird.

Ein asymmetrischer Schlüssel ist eine sicherungsfähige Entität auf Datenbankebene. Standardmäßig enthält diese Entität sowohl einen öffentlichen als auch einen privaten Schlüssel. Bei einer Ausführung ohne die FROM-Klausel generiert CREATE ASYMMETRIC KEY ein neues Schlüsselpaar. Bei einer Ausführung mit FROM-Klausel importiert CREATE ASYMMETRIC KEY ein Schlüsselpaar aus einer Datei oder einen öffentlichen Schlüssel aus einer Assembly.

Standardmäßig ist der private Schlüssel mit dem Datenbank-Hauptschlüssel geschützt. Falls kein Datenbank-Hauptschlüssel erstellt wurde, ist ein Kennwort zum Schützen des privaten Schlüssels erforderlich. Falls ein Datenbank-Hauptschlüssel vorhanden ist, ist das Kennwort optional.

Der private Schlüssel kann eine Länge von 512, 1024 oder 2048 Bits aufweisen.

Erfordert die CREATE ASYMMETRIC KEY-Berechtigung in der Datenbank. Wenn die AUTHORIZATION-Klausel angegeben ist, ist die IMPERSONATE-Berechtigung für den Datenbankprinzipal oder die ALTER-Berechtigung für die Anwendungsrolle erforderlich. Nur Windows-Anmeldungen, SQL Server-Anmeldungen und Anwendungsrollen können asymmetrische Schlüssel besitzen. Gruppen und Rollen können keine asymmetrischen Schlüssel besitzen.

A.Erstellen eines asymmetrischen Schlüssels

Im folgenden Beispiel wird der asymmetrische Schlüssel PacificSales09 mithilfe des RSA_2048-Algorithmus erstellt, und der private Schlüssel wird mit einem Kennwort geschützt.

CREATE ASYMMETRIC KEY PacificSales09 
    WITH ALGORITHM = RSA_2048 
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>'; 
GO

B.Erstellen eines asymmetrischen Schlüssels aus einer Datei, wobei die Autorisierung an einen Benutzer erteilt wird

Im folgenden Beispiel wird der asymmetrische Schlüssel PacificSales19 aus einem in einer Datei gespeicherten Schlüsselpaar erstellt, und der Benutzer Christina wird anschließend zum Verwenden des asymmetrischen Schlüssels autorisiert.

CREATE ASYMMETRIC KEY PacificSales19 AUTHORIZATION Christina 
    FROM FILE = 'c:\PacSales\Managers\ChristinaCerts.tmp'  
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';
GO

C.Erstellen eines asymmetrischen Schlüssels von einem EKM-Anbieter

Im folgenden Beispiel wird der asymmetrische Schlüssel EKM_askey1 aus einem in einer Datei gespeicherten Schlüsselpaar erstellt. Anschließend wird er unter Verwendung eines Extensible Key Management-Anbieters mit dem Namen EKMProvider1 und einem Schlüssel mit dem Namen key10_user1 bei dem Anbieter verschlüsselt.

CREATE ASYMMETRIC KEY EKM_askey1 
    FROM PROVIDER EKM_Provider1
    WITH 
        ALGORITHM = RSA_512, 
        CREATION_DISPOSITION = CREATE_NEW
        , PROVIDER_KEY_NAME  = 'key10_user1' ;
GO
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.