0

非常に機密性の高いデータを HTTP サーバーに送信する必要があるアプリケーションを作成します。このデータの機密性のため、接続をできる限り保護する必要があります。HTTP POST 経由で SSL を使用することにしました。私の問題は、私が SSL のセキュリティ保護に本当に慣れていないことです。Android で SSL アプリを作成するプロセスについて疑問があります。私がすべてうまくやっているかどうか、誰か教えてもらえますか?

アプリケーションを作成するには、次の手順を実行します。

  1. OpenSSL を使用して SSL キーと証明書を生成します。このチュートリアルに従って 、HTTP サーバーを作成するチーム メイトに .key ファイルを渡して、Apache を構成し、この .key ファイルを使用して送信者の身元を確認できるようにする必要があります。

  2. このチュートリアルに従って .bks キーストアを作成 します。次に、同じチュートリアルを使用してこのキーストアを読み取り、サーバーに接続できます。次に、サーバーは .key ファイルを使用して私の身元を確認できますか?

アプリケーションと HTTP サーバー間の安全な接続を確立するために必要なことはこれだけですか? これは適切に機能し、すでに安全ですか?

4

1 に答える 1

1
  1. 間違い。鍵ペアを生成する必要があります。秘密鍵を秘密にして、相手に公開鍵を渡します。

  2. 引用したチュートリアルを読んでいないようです。そこには、正しく、キーツールを使用してプロセス全体を実行できると書かれています。OpenSSLを組み込む必要はまったくありません。

ただし、Apacheの方が高速であるというチュートリアルの説明は、グレードAのナンセンスです。それとHttpsURLConnectionクラスはどちらも、内部でJSSEを使用します。これは、内部でjava.net.Socketを使用します。その速度は、そもそもネットワークにバインドされています。もしそれがもっと速ければ、それは本当に奇跡的なことでしょう。または遅い。それを使用する他の理由があるかもしれません(私は決して持っていません)が、これはそれらの1つではありません。私見の方が速いのは、数ヤードのコードを書く代わりに、いくつかのシステムプロパティを設定し、組み込みのものを使用することです。

于 2012-08-09T22:40:09.167 に答える