CREATE ASYMMETRIC KEY (Transact-SQL)

Permet de créer une clé asymétrique dans la base de données.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

CREATE ASYMMETRIC KEY Asym_Key_Name 
   [ AUTHORIZATION database_principal_name ]
   {
      FROM <Asym_Key_Source>
      |
      WITH ALGORITHM = { RSA_512 | RSA_1024 | RSA_2048 }
   }
      [ ENCRYPTION BY PASSWORD = 'password' ] 

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

Arguments

  • FROM Asym_Key_Source
    Spécifie la source à partir de laquelle la paire de clés asymétriques doit être chargée.
  • AUTHORIZATION database_principal_name
    Spécifie le propriétaire de la clé asymétrique. Le propriétaire ne peut pas être un rôle ni un groupe. Si cette option n'est pas spécifiée, le propriétaire sera l'utilisateur en cours.
  • FILE ='path_to_strong-name_file'
    Spécifie le chemin d'accès du fichier de nom à partir duquel il convient de charger la paire de clés.
  • EXECUTABLE FILE ='path_to_executable_file'
    Spécifie un fichier d'assembly à partir duquel il convient de charger la clé publique.
  • ASSEMBLY Assembly_Name
    Spécifie le nom d'un assembly à partir duquel il convient de charger la clé publique.
  • ENCRYPTION BY PASSWORD ='password'
    Spécifie le mot de passe utilisé pour chiffrer la clé privée. Si cette clause n'est pas présente, la clé privée sera chiffrée à l'aide de la clé principale de base de données. password peut comporter jusqu'à 128 caractères.

Notes

Une clé asymétrique est une entité sécurisable au niveau base de données. Dans sa forme par défaut, cette entité contient à la fois une clé publique et une clé privée. Lorsqu'elle est exécutée sans la clause FROM, l'instruction CREATE ASYMMETRIC KEY génère une nouvelle paire de clés. Lorsqu'elle est exécutée avec la clause FROM, l'instruction CREATE ASYMMETRIC KEY importe une paire de clés à partir d'un fichier ou importe une clé publique à partir d'un assembly.

Par défaut, la clé privée est protégée par la clé principale de base de données. Si aucune clé principale de base de données n'a été créée, un mot de passe est requis pour protéger la clé privée. Si une clé principale de base de données existe, le mot de passe est facultatif.

La clé privée peut compter 512, 1 024 ou 2 048 bits.

Autorisations

Requiert l'autorisation CREATE ASYMMETRIC KEY sur la base de données. Si la clause AUTHORIZATION est spécifiée, l'autorisation IMPERSONATE sur l'entité de sécurité de base de données ou l'autorisation ALTER sur le rôle d'application est requise.

Exemples

A. Création d'une clé asymétrique

Dans l'exemple suivant, une clé asymétrique nommée PacificSales09 est créée à l'aide de l'algorithme RSA_2048 et la clé privée est protégée par un mot de passe.

CREATE ASYMMETRIC KEY PacificSales09 
    WITH ALGORITHM = RSA_2048 
    ENCRYPTION BY PASSWORD = 'bmsA$dk7i82bv55foajsd9764'; 
GO

B. Création d'une clé asymétrique à partir d'un fichier, octroi d'une autorisation à un utilisateur

Dans l'exemple ci-dessous, la clé asymétrique PacificSales19 est créée à partir d'une paire de clés stockées dans un fichier, puis l'utilisateur SyedAbbas est autorisé à utiliser la clé asymétrique.

CREATE ASYMMETRIC KEY PacificSales19 AUTHORIZATION SyedAbbas  
    FROM FILE = ' c:\PacSales\Managers\SyedAbbasCerts.tmp'  
    ENCRYPTION BY PASSWORD = '35698ofg0sjlkfLKJ4548872$$$2';
GO

Voir aussi

Référence

ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)

Autres ressources

Choix d'un algorithme de chiffrement
Hiérarchie de chiffrement

Aide et Informations

Assistance sur SQL Server 2005