Publié le
6 juin 2024
Exporter une clé privée RSA depuis le Windows Certificate Store peut être indispensable pour diverses tâches d'administration et de sécurité, en particulier dans les environnements où OpenSSL n'est pas disponible. Ce guide a pour objectif de fournir un processus clair et pas à pas pour exporter une clé privée RSA depuis une machine sous Windows. Il est important de noter que, pour que cette procédure réussisse, le certificat concerné doit avoir été importé dans le Windows Certificate Store avec l'option « Marquer la clé privée comme exportable » activée. Suivre ce guide vous permettra de gérer vos clés cryptographiques de manière sûre et efficace, sans avoir besoin de logiciels supplémentaires.
Avant de vous lancer dans le processus, notez que ce guide nécessite que vous disposiez des droits d'administrateur local sur la machine.
Une fois ce point confirmé, suivez les étapes suivantes :

Étape 1 : ouvrez une invite de commandes PowerShell avec élévation de privilèges.
Étape 2 : récupérez l'empreinte du certificat que vous souhaitez exporter à l'aide de la commande suivante. Exemple si le certificat se trouve dans le magasin de certificats personnel de la machine :
dir cert:\LocalMachine\My
Étape 3 : créez un objet certificat dans l'invite PowerShell à partir de l'empreinte de votre certificat avec la commande suivante :
Envie de mettre en pratique ces bonnes pratiques PKI ?
Bénéficiez des conseils de nos experts pour déployer des solutions PKI sécurisées au sein de votre organisation.
Demander de l'aide$cert = Get-ChildItem Cert:\LocalMachine\My | ? {$_.Thumbprint -eq '<THUMBPRINT_OF_CERTIFICATE_FROM_STEP_2>'}
Étape 4 : lisez la clé privée RSA dans un objet RSA CNG :
$RSACng = [System.Security.Cryptography.X509Certificates.RSACertificateExtensions]::GetRSAPrivateKey($cert)
Étape 5 : lisez les octets de la clé privée :
$KeyBytes = $RSACng.Key.Export([System.Security.Cryptography.CngKeyBlobFormat]::Pkcs8PrivateBlob)
Étape 6 : encodez les octets de la clé au format Base64 :
$KeyBase64 = [System.Convert]::ToBase64String($KeyBytes, [System.Base64FormattingOptions]::InsertLineBreaks)
Étape 7 : affichez la clé privée au format PEM dans l'invite PowerShell :
type: embedded-entry-inline id: ILkxb8FGrkSANjkXYu3SR
Conclusion
Réussir à exporter une clé privée RSA depuis le Windows Certificate Store est une compétence cruciale pour les administrateurs système et les professionnels de la sécurité qui doivent gérer des clés cryptographiques sans recourir à des outils externes comme OpenSSL. En vous assurant que le certificat a bien été importé à l'origine avec l'option « Marquer la clé privée comme exportable » activée, vous pouvez suivre un processus fluide pour récupérer la clé privée en toute sécurité. Cette capacité accroît non seulement votre flexibilité dans la gestion des clés, mais souligne également l'importance d'une bonne gestion et d'une bonne configuration des certificats dès le départ. Grâce à ce guide, vous disposez désormais des connaissances nécessaires pour exporter en toute confiance des clés privées RSA lorsque cela est nécessaire, en préservant l'intégrité et la sécurité de votre infrastructure cryptographique.