0

証明書のインポートに関する多くの記事を読みましたが、いくつかの点がまだ不明です。

Java アプリケーション (この場合は JBOSS Web アプリケーション) から SSL サイトに接続する場合、事前にアプリケーション サーバーにクライアント証明書を明示的にインストールする必要がありますか?

クライアント証明書を手動でインストールできますが、有効期限があります。そのため、アプリケーション サーバーにクライアントがインストールしたすべての証明書の有効期限を管理し、停止してそれぞれを更新する必要があります。もっと良い方法があるべきだと感じています。アプリケーションは有効な署名付き証明書を自動的に受け入れるべきではありませんか? [この場合、VeriSign によって署名されています]

現在、証明書を明示的にインストールせずにアプリケーションから https URL にアクセスしようとすると、例外が発生します。API プロキシ ライブラリが内部例外を飲み込んでいるため、詳細がわかりません。

証明書が自動的に受け入れられる必要がある場合は、ここで別の問題が発生する可能性があります...

4

1 に答える 1

0

明示的にインポートせずに署名付き証明書を使用できますか?

はい、使用前にインストールする必要はありません。実際、何を期待するかを事前に知っていれば、その情報をアプリケーションに含めることができます。これには、アプリケーションのセキュリティ体制を改善するという追加の利点があります。

証明書のインポートを回避するには、カスタムX509TrustManagerおよびオーバーライドを使用しますcheckServerTrusted。でcheckServerTrusted、サーバーの公開鍵が予期されるものであることを確認します (つまり、サーバーの証明書または公開鍵を固定します)。または、サーバーの証明書が有効であることを確認します (つまり、有効範囲内にあり、信頼されたルートへのチェーンを形成します)。


Java アプリケーション (この場合は JBOSS Web アプリケーション) から SSL サイトに接続する場合、事前にアプリケーション サーバーにクライアント証明書を明示的にインストールする必要がありますか?

クライアント証明書の場合、サーバーは、クライアント証明書の発行に依存する発行者を通知します。そのため、サーバーは、クライアントを認証するためのクライアント証明書を発行するためのトラスト ポイントを知る必要があります。


この場合、VeriSign によって署名されています。

これは本当に悪いことかもしれません。この場合、Verisign PKI で署名されたすべてのクライアントと、Verisign PKI で署名された Verisign の他のすべてのクライアントを信頼します

この場合、公共の CA を避けて、独自の PKI を実行する (つまり、独自の CA になる) 方がよいでしょう。この場合、Network Security with OpenSSLのコピーを入手してください。opensslこの本では、コマンドとプログラムの両方を使用して、通常のタスクを実行する方法を示します。

于 2014-02-13T04:24:53.530 に答える