Transparent Data Encryption et Certificats
Published Jan 15 2019 02:17 PM 218 Views
Microsoft
First published on MSDN on Feb 24, 2012

Bonjour à tous,



J’aimerais aborder aujourd’hui une fonctionnalité de plus en plus utilisée pour SQL,
Transparent Data Encryption.


Et pour entrer dans le détail, je vais parler de la création des certificats utilisant des clés qui existent déjà dans votre
environnement.


Si vous avez déjà essayé  ça ,il a une grande chance que vous ayez rencontré le message d’erreur suivant quand
vous exécutez la commande CREATE CERTIFICATE


“The certificate, asymmetric key, or private key file does not exist or has
invalid format.”


En  regardant le message, il est nécessaire premièrement d’établir
quels sont les formats nécessaires :



  • Le fichier .cer doit être en format DER binary comme spécifié dans l’article :


« fichier encodé DER qui contient le certificat «


http://msdn.microsoft.com/fr-fr/library/ms187798.aspx



  • La clé privée doit être en format .pvk



Informations concernant le format pour les deux fichiers :



http://msdn.microsoft.com/fr-fr/library/ms187798.aspx


« Un certificat est un sécurisable de niveau base de données qui suit la norme X.509 et prend en charge les champs


X.509 V1 . CREATE CERTIFICATE permet de charger un certificat à partir d'un fichier ou d'un assembly.


Cette instruction peut également générer une paire de clés et créer un certificat autosigné.


Les clés privées générées par SQL Server ont une longueur de 1 024 bits. Les clés privées importées à partir d'une
source externe ont une longueur minimale de 384 bits et une longueur maximale de 3 456 bits.


La longueur d'une clé privée importée doit  être un entier multiple de 64 bits.


La clé privée doit correspondre à  la clé publique spécifiée par certificate_name .


Lorsque vous créez un certificat à partir d'un conteneur, le chargement de la clé privée est facultatif. En revanche, lorsque
SQL Server génère un certificat autosigné, la clé privée est toujours créée. Par défaut, la clé privée est chiffrée au moyen de la clé principale de base de
données. Si la clé principale de base de données n'existe pas et qu'aucun mot de passe n'est spécifié, l'instruction échoue.


L'option ENCRYPTION BY PASSWORD n'est pas requise lorsque la clé privée est chiffrée au moyen de la clé principale de base de
données. Utilisez cette option seulement lorsque la clé privée doit être chiffrée à l'aide d'un mot de passe. Si aucun mot de passe n'est spécifié, la
clé privée du certificat sera chiffrée à l'aide de la clé principale de base de données. Ne pas spécifier cette clause entraînera une erreur, si la clé
principale de la base de données ne peut pas être ouverte.



Si vous n’avez pas des certificats générés  directement en format  DER et  PVK  ...



  • Le fichier .cer


Pour convertir le fichier . cer  en format DER binary vous avez les options suivantes :


-utiliser l’outil Windows







- d’autres outils opensource (openssl par exemple )





  • La clé  privé :


Microsoft n’a pas d’outils  pour extraire ou générer des PVK a partir des formats p12 ou pem. Nous avons des
outils pour générer  directement des certificats et PVK comme l’outil  makecert.


http://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.80).aspx



Une solution est d’extraire la clé privee en format .pem  à partir de p12 et après de la convertir
en format .pvk



Pour extraire la clé privé en  format .pem :



Etape1 : Extraction clé privée (format PEM / RSA) avec passphrase = dnalor



openssl pkcs12 -in TDE.p12 -out msft_withpassphrase.pem



Etape 1 bis : Extraction clé privée (format PEM / RSA) sans passphrase


openssl rsa -in msft_withpassphrase.pem -out msft_withoutpassphrase.pem


Enter pass phrase for msft_withpassphrase.pem:


writing RSA key



Etape 2: Vérification contenu clé privée (format PEM / RSA)



openssl rsa  -in msft_withpassphrase.pem -check



Etape 3 : Conversion


Pour convertir la clé privée en format pvk  j’ai touché  une outil  third party qui s’appelle
pvktool ( http://www.drh-consultancy.demon.co.uk/pvk.html )




Alexandra Ciortea

Version history
Last update:
‎Jan 15 2019 02:17 PM
Updated by: