このことは、数日間私を悩ませています。この問題全体に関する他の多くの質問を読みましたが、まだ先に進むことができません。
Android で SSL をテストするためだけに、簡単なテスト アプリケーションを作成しました。アプリケーションにはボタンが 1 つしかなく、クリックすると、アプリケーションは SSL 暗号化接続を介して「Hello World」をテスト サーバーに送信しようとし、テスト サーバーはまったく同じフレーズで応答します。
最初に、openssl を使用してサーバーのテスト キーとテスト証明書を作成しました。それから、 Crazy Bob のブログに示されている指示に従っています。Bouncy Castle のサイトから直接 Bouncy Castle プロバイダーを取得し、Crazy Bob のブログに示されているように信頼できるキーストアを作成し、その時点ですべてが正しく行われていると信じています。
コードを実行しようとすると、「IOException: キー ストアのバージョンが違います」という例外が発生しました。次に、StackOverflowでこの質問を見つけました。そこでは、最新の bcprov-jdk15on-147.jarではなく、古い Bouncy Castle Provider を使用するように勧められました。私はこれを念頭に置き、実際に jdk13-146 から jdk16-146 までのすべての bcprovider を試してみました。それでも、同じ「IOExcpetion: キー ストアのバージョンが間違っています」というメッセージが表示されるたびに。例外。
次に、StackOverflow で同様の問題に関する別の質問を見つけました。誰かが、1024 サイズのキーの代わりに 512 ビット サイズのキーを使用して、その例外を取り除くことに成功しました。まあ、私はそれを試してみましたが、何も達成しませんでしたが、同じ例外がありました.
だから私は今ここにいて、次に何をすべきか考えています。私はアイデアとグーグル検索結果をほとんど使い果たしています。
私の Web コードは、クレイジーなボブのコードの 1 対 1 のコピーであり、アプリケーションにはボタンのみを処理するアクティビティ クラスしかありません。これを API レベル 7 で実装しようとしています。
どんな助けでも大歓迎です。ありがとう。