CREATE ASYMMETRIC KEY (Transact-SQL)
Permet de créer une clé asymétrique dans la base de données.
Conventions 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