RSA暗号化/復号化が必要な機能があります。提供された.pemファイルには、RSAのペアキーが含まれています。 How to read a PEM RSA private key from .NETと同じOrg.BouncyCastleを使用します。またはhttp://www.jensign.com/opensslkey/opensslkey.csのメソッドを使用します。私が受け取ったのは、パラメータDQの「不良データ」が63バイト(64バイトと異なる)です。 (.pemファイルは正常だったと言われています)ここに問題はありますか?PEMファイルを読み込み、DQパラメータで63バイトを取得
1
A
答えて
2
すべてのRSAパラメータは単純に(巨大な)数値です。それらの大部分は同じサイズ(同じキーペアの長さ、たとえば1024)で同じサイズを持ちますが、これは必ずしもそうではありません。コード内でこれをカバーする必要があります。
なぜですか?いくつかの数字は少し小さくなり、他の数字よりも少ないビットに収まるためです。あなたのケースでは、数字は63バイトに収まるので、base64(PEM)はそのようにエンコードされています。
解決策は、読み込み中のデータを埋め込むことです。つまり、デコードする前に0x00バイトを追加することです。これは同じ数値(数学的賢さ)であり、RSAキーパラメータのすべての.NET検証に合格します。
p.s. Monoのソースコードを見て、これがどう処理されているか見ることができます。
関連する問題
- 1. ファイルからバイト[]を読み込み、読み込みます
- 2. バイト配列の読み込みは、バイト配列をファイル
- 3. WebRequest GetResponseStream読み込みバイト
- 4. Javaソケットからバイトを読み込む:ArrayIndexOutOfBoundsを取得する
- 5. javaでファイルの内容を読み込み、パラメータをチェックする
- 6. .pemファイルから共通名を読み取る
- 7. PHPでcsvファイルを読み込んで読み込み
- 8. C++ ifstream.read; nバイト未満のバイトを読み込みます。
- 9. C#ファイルを読み取り専用で読み取り/書き込みする
- 10. 読み取り/書き込みバイト配列のAndroid
- 11. Pythonのファイルからパラメータを読み込みます
- 12. ファイル読み込みと書き込み
- 13. Cでバイトを読み取る方法#
- 14. Java copy-overwriteファイル。読み込み時に古いファイルを取得する
- 15. バイト配列をビットマップに読み込む
- 16. XMLでファイルを読み込みJava
- 17. Pythonでharファイルからページ読み込み時間を取得するには?
- 18. Java - 指定されたオフセットでバイトを読み込みます。
- 19. JavaのFileDescriptor .sync()の読み込み*ファイルの読み込み
- 20. SSHのBashスクリプトの読み込みファイルの読み込み
- 21. jQueryを使用してdivにPHPファイルを読み込む方法パラメータを渡して読み込み
- 22. Matlabファイルの読み込み
- 23. swfファイルの読み込み
- 24. プログレスバーとファイル読み込み
- 25. java読み込み.propertiesファイル
- 26. ファイル読み込みエラー
- 27. JDFファイルの読み込み
- 28. ELFファイルの読み込み
- 29. PHP読み込みXMLファイル
- 30. Heroku&NodeJSユーザーストリーム読み込み時にパラメータ
「不良データ」を受け取ったということを意味しますか?エラーメッセージが表示されたら、完全なエラーメッセージをコピーして回答に貼り付けます。 –
RSAにパラメータ(D、Q、P、DQ ...)をインポートすると、「不良データ」が発生します。 DQの長さのdiffirenceの原因。通常、64バイトの長さのDQが必要ですが、この場合は63バイトです。 – thongqn