5

この特定のトピックが何度も尋ねられたことは知っていますが、残念ながら私の場合はどれも機能していません。ここ数日、機能状態にしようと試みていましたが、毎回失敗していたので、ようやくここに尋ねに来ました。

サーバー上に自己署名証明書を持つ Web サービスがあります。ブラウザにアドレスを入力すると、wsdl ファイルにアクセスできます。ブラウザは、証明書にいくつかの問題があることを思い出させてくれます。続行を押すと、すべてが機能します。悲しいことに、SSL 通信を使用するアプリケーションを初めて作成したため、SSL についてほとんど知りません。アプリケーションでは、使用した「ソリューション」のタイプに応じて、「ピア証明書がありません」または「トラストアンカーパスが見つかりません」という例外のみが発生します。

sslhopper.com でテストを実行したところ、「証明書はすべての Web ブラウザーで信頼されているわけではありません。信頼されたルート証明書にリンクするには、中間/チェーン証明書をインストールする必要がある場合があります。」という警告が表示されます。これは Android 開発における深刻な問題ですか、それとも何らかのコードで解決できますか?

だから私の質問は、実際には、アプリケーションで「続行ボタンを押す」など、実際にサーバーに接続するためにどのようにすればよいかということです。この場合、証明書自体に問題がありますか、それともアプリケーション自体に何か問題がありますか?

4

1 に答える 1

1

クライアント認証を実行しようとしている場合は、次の2つが必要です。

  1. サーバー証明書を発行したCA証明書
  2. アプリのクライアント証明書。

1.アプリのトラストストアと2.キーストアに配置する必要があります。サンプルコードは、キーストアとしてPCKS#12を想定していますが、持っていますか?どのファイルが与えられましたか?この時点で、JSSEリファレンスを読んで、システムがどのように機能するかを理解することをお勧めします。

http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html

于 2012-10-22T14:12:48.983 に答える