Publié le
June 5, 2024
L'exportation d'une clé privée RSA depuis le magasin de certificats Windows peut être essentielle pour diverses tâches administratives et de sécurité, notamment dans les environnements où OpenSSL n'est pas disponible. Ce guide vise à fournir un processus clair, étape par étape, 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 en question doit avoir été importé dans le magasin de certificats Windows avec l'option "Marquer la clé privée comme exportable" activée. Suivre ce guide garantira que vous pouvez gérer vos clés cryptographiques de manière sécurisée et efficace sans avoir besoin de logiciel supplémentaire.
Mais avant de plonger dans le processus, veuillez noter que ce guide nécessitera que vous disposiez des 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 commande PowerShell élevée
Étape 2 : Récupérez l’empreinte du certificat que vous souhaitez exporter avec la commande suivante. Exemple si le certificat se trouve dans le magasin de certificats de votre machine personnelle :
dir cert:\LocalMachine\My
Étape 3 : Créer un objet certificat dans l’invite PowerShell basé sur l’empreinte de votre certificat avec la commande suivante :
Vous souhaitez mettre en œuvre ces pratiques PKI ?
Obtenez des conseils d'experts pour mettre en œuvre des solutions PKI sécurisées pour votre organisation.
Obtenir de l'aide d'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 de la clé 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 commande PowerShell :
$KeyPem = @" -----BEGIN PRIVATE KEY----- $KeyBase64 -----END PRIVATE KEY----- "@ $KeyPem
Conclusion
Exporter avec succès une clé privée RSA depuis le magasin de certificats Windows 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 tels qu'OpenSSL. En veillant à ce que le certificat ait été initialement importé avec l’option “Mark private key as exportable” activée, vous pouvez suivre un processus simplifié pour récupérer en toute sécurité la clé privée. Cette capacité augmente non seulement votre flexibilité dans la gestion des clés, mais renforce également l'importance d'une gestion et d'une configuration appropriées des certificats dès le départ. Avec ce guide, vous disposez désormais des connaissances nécessaires pour exporter en toute confiance les clés privées RSA lorsque cela est nécessaire, en maintenant l'intégrité et la sécurité de votre infrastructure cryptographique.