Linux環境でOpenSSLを使用して証明書の公開鍵で暗号化された秘密を解読するPowerShellスクリプトを設定します。OpenSSLで暗号化されたPowerShellでx509証明書を使用してテキストを解読する
復号化で使用する秘密鍵を持つ証明書は、Windowsローカルマシンの証明書ストアにあります。
これまでのところ、私は暗号化されたファイルからバイトを解読するために [Security.Cryptography.RSACryptoServiceProvider].PrivateKey.Decrypt
を使用しようとしましたが、私は、パディング
$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
でエラーを取得する私は、この暗号の例外を解決する方法についていくつかのポインタを取得してもらえますか?
暗号文を含むファイルは、Linuxで次のサンプルopensslコマンドを使用して生成された:
echo " Secret Text" | openssl rsautl -encrypt -inkey publickey.pem -pubin > secret.enc
これは、OpenSSLで罰金復号化することができますが、PowerShellをしようとしたとき、我々は常に同じエラーを取得します。
公開鍵または秘密鍵でファイルを復号化しようとしていますか?あなたはパブリックを使用しているように見えるエラーに基づいて、あなたは秘密鍵を使用する必要があります。 – Persistent13
@ Persistent13では、平文は公開鍵で暗号化され、暗号文は秘密鍵で復号化されます。 –