Je cherche à mettre en place un script PowerShell pour déchiffrer les secrets qui ont été chiffrés avec le certificat de clé publique dans un environnement Linux en utilisant OpenSSL.Utilisation de certificats x509 pour déchiffrer le texte avec PowerShell qui a été chiffré avec OpenSSL
Le certificat avec la clé privée à utiliser dans le décryptage est sur le magasin de certificats de l'ordinateur local de Windows.
Jusqu'à présent, j'ai tenté d'utiliser [Security.Cryptography.RSACryptoServiceProvider].PrivateKey.Decrypt
pour déchiffrer les octets du fichier crypté mais j'obtiens une erreur avec le rembourrage
$mycert.PrivateKey.Decrypt($bytes, $true)
Exception calling "Decrypt" with "2" argument(s): "Error occurred while decoding OAEP padding."
At line:1 char:1
+ $mycert.PrivateKey.Decrypt($bytes, $true)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : CryptographicException
Puis-je avoir quelques conseils sur la façon de résoudre cette exception cryptographique?
Le fichier contenant le cryptogramme a été généré en utilisant l'exemple de commande openssl suivante dans Linux:
echo " Secret Text" | openssl rsautl -encrypt -inkey publickey.pem -pubin > secret.enc
Il peut être déchiffré bien avec OpenSSL, mais nous obtenons toujours la même erreur lorsque vous essayez PowerShell.
Essayez-vous de décrypter le fichier avec la clé publique ou privée? Basé sur l'erreur, il semble que vous utilisez le public, vous devez utiliser la clé privée. – Persistent13
@ Persistent13, le texte en clair est crypté avec la clé publique tandis que le cryptogramme est déchiffré avec la clé privée. –