Publié le
5 juin 2024
L'exportation d'une clé privée RSA depuis le magasin de certificats Windows peut s'avérer essentielle pour diverses tâches d'administration et de sécurité, notamment dans les environnements où OpenSSL n'est pas disponible. Ce guide décrit la procédure à suivre pour exporter une clé privée RSA depuis un ordinateur Windows. Pour que cette procédure réussisse, le certificat concerné doit avoir été importé dans le magasin de certificats Windows avec l'option « Marquer la clé privée comme exportable » activée. Ce guide vous permettra de gérer vos clés cryptographiques de manière sécurisée et efficace, sans logiciel supplémentaire.
Mais avant de vous lancer dans la procédure, veuillez noter que ce guide nécessite que vous disposiez de droits d'administrateur local sur la machine.
Après avoir confirmé cela, suivez les étapes suivantes :
Étapes pour exporter une clé privée RSA depuis le magasin de certificats Windows
Étape 1 : Ouvrez une invite de commandes PowerShell avec privilèges élevés
Étape 2 : Récupérez l’empreinte numérique du certificat que vous souhaitez exporter à l’aide de la commande suivante. Exemple si le certificat se trouve dans le magasin de certificats de votre ordinateur :
répertoire cert:\LocalMachine\Mon
Étape 3 : Créez un objet certificat dans l’invite PowerShell à partir de l’empreinte numérique de votre certificat à l’aide de la commande suivante :
Vous souhaitez mettre en œuvre ces pratiques PKI ?
Bénéficiez de conseils d'experts sur la mise en œuvre de solutions PKI sécurisées pour votre organisation.
Obtenez l'aide d'un expert$cert = Get-ChildItem Cert:\LocalMachine\My | ? {$_.Thumbprint -eq '<THUMBPRINT_OF_CERTIFICATE_FROM_STEP_2> '}
Étape 4 : Lire la clé privée RSA dans un objet RSA CNG :
$RSACng = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Étape 5 : Lire les octets de la clé privée :
$KeyBytes = $RSACng.Key.Export([System.Security.Cryptography.CngKeyBlobFormat]::Pkcs8PrivateBlob)
Étape 6 : Encoder les octets clés au format Base64 :
$KeyBase64 = [System.Convert]::ToBase64String($KeyBytes, [System.Base64FormattingOptions]::InsertLineBreaks)
Étape 7 : Afficher la clé privée au format PEM dans l’invite de commandes PowerShell :
$KeyPem = @" -----BEGIN PRIVATE KEY----- $KeyBase64 -----END PRIVATE KEY----- "@ $KeyPem
Conclusion
L'exportation réussie d'une clé privée RSA depuis le magasin de certificats Windows est une compétence essentielle pour les administrateurs système et les professionnels de la sécurité qui doivent gérer les clés cryptographiques sans recourir à des outils externes tels qu'OpenSSL. En vous assurant que le certificat a été initialement importé avec l'option « Marquer la clé privée comme exportable » activée, vous pouvez suivre une procédure simplifiée pour récupérer la clé privée en toute sécurité. Cette fonctionnalité accroît non seulement votre flexibilité dans la gestion des clés, mais souligne également l'importance d'une gestion et d'une configuration correctes des certificats dès le départ. Grâce à ce guide, vous disposez désormais des connaissances nécessaires pour exporter en toute confiance les clés privées RSA lorsque cela s'avère nécessaire, préservant ainsi l'intégrité et la sécurité de votre infrastructure cryptographique.