2016-05-04 19 views
0

テキストを復号化する必要がありますが、メッセージはThe parameter is incorrectです。RSACryptoServiceProvider - Decrypt - パラメータが正しくありません

証明書が正しく取得されており、Windowsに登録されています。問題についての検索

enter image description here

enter image description here

、私は、IISでWebサイトに割り当てられたアプリケーションプール内のユーザーを変更する提案のコメントを読むことができます。私はそれを試したが、仕事はしなかった。第二の画像で

は、サイズの計算を示しているが、私はasp.netののproyectは、IISを使用する.NET 4でVS2010を使用していますので、減算11 8.

あたりKeySize divitionにわかりませんVisual Studio Development Serverを使用していません

問題を解決するにはどうすればよいですか?

【解決手段】

復号化方式で割り当てられた暗号文は、廃止証明書を用いて生成しました。

テキストは証明書で暗号化されていましたが、変更されました。エンコードされたテキストを他の証明書で復号化しようとすると失敗します。

答えて

1

非対称暗号システム(つまりあなたの場合はRSA)を使用してデータを暗号化する場合、出力のサイズは係数のサイズと同じです。さらに、入力のサイズはモジュラスのサイズ以下でなければなりません。したがって、暗号テキストを解読しようとすると、暗号テキストのサイズはモジュラスのサイズと同じでなければなりません(つまり、鍵サイズは1024ビットであるため、128バイトです)。

変数dataをセグメント化しないでください。RSACryptoServiceProvider.Decryptに直接フィードしてください。しようとする

もう一つは、The parameter is incorrect例外がスローされますfalseに設定してfOAEP OAEPパディングされた暗号文を復号するのでrsa.DecryptfOAEPパラメータのtrueを供給することです。

+0

サイズモジュールの計算に関する追加情報を追加しました。モジュラスの大きさは計算されていますが、分かりにくいことがわかります。 –

+0

Ok。この場合、decryptメソッドの 'fOAEP'パディングパラメータに 'true'を指定してください。 fOAEPフラグを指定せずにOAEPが埋め込まれた暗号テキストを復号化すると、例外が発生します。 –

+0

ご協力ありがとうございます、私は問題を解決することができます。証明書は変更されましたが、暗号化されたテキストは他の –

0

この例外は、プライベートキーまたは公開キーが変更された場合に発生します。

関連する問題