2

Web アプリケーションから ajax リクエストを受信するクライアント マシンで実行される Java アプリケーションがあります。サービスを使用したいこれらの Web アプリケーションの一部は、https でのみ提供されます。

Java アプリが SSL 要求を正常に受け入れて処理できるようになりましたが、最初にブラウザーでサーバーに移動し、証明書を受け入れる必要があります。

リッスンするこのJavaアプリの一部として「実際の証明書」をインストールする最良の方法は何https://localhost:my_portですか?

Windowsでは、インストーラーに自己署名証明書をマシンの承認済みリストに追加させることができるようです。thisApp.myDomain.comの検証済み証明書を取得し、そのアドレスを指すようにホスト ファイルを変更することも考えていましたが、127.0.0.1ホスト ファイルの変更は悪意があるようで、ウイルス対策によって検出されるのではないかと心配しています。

「メイン」アプリケーションは Web ベースのシステムです。この Web ベースのシステムの一部のユーザーは、指定されたコンピューターの特別なプリンターで印刷できるようにしたいと考えています。これらのコンピューターに Java アプリをインストールすると、Web アプリケーションが ajax 要求を Java アプリに送信し、プリンターと対話します。エンド ユーザーは、簡単なワンクリック タイプのインストーラーを使用して、この Java サービスをインストールできる必要があります。Web アプリは、印刷を実行するマシン上のブラウザーから実行されるため、localhost.

前述のように、Web アプリは https 経由で Web サーバー (現在は amazon に常駐) に接続する必要があります。localhost 印刷サーバーへの接続は、Chrome が安全でないコンテンツについて不満を言う以外の理由で https である必要はありません。現在、Chrome はユーザーによって最も広く使用されているブラウザです。

何か考えや提案はありますか?

4

2 に答える 2

2

「本物の」証明書とは、信頼できる CA によって署名されたものを意味する場合、答えはおそらくできないと思います。信頼できる CA が発行してくれるとは思えません。

上記でリンクした回答は、CA 証明書を取得して独自の CA を設定することを示唆しています。他の代替手段は、127.0.0.1 の自己署名証明書、または有効な証明書を持つ名前がクライアント マシンのループバック アドレスに解決されるように (クライアント マシンの「ホスト」ファイルなどを介して) DNS 解決を微調整することです。


ところで-証明書の検証をオフにすることは方法ではありません。(たとえば) ユーザーのブラウザの信頼できる証明書リストに自己署名証明書を追加することをお勧めします。


私があなたの状況にあった場合、127.0.0.1 での要求に HTTPS を必要とするものは何でも変更すると思います。要求に HTTPS を必要としないか、IP アドレスをクライアント自身の IP アドレスに変更してください。

于 2012-05-29T12:54:36.710 に答える
-1

クライアントマシンに自己署名証明書をインストールしようとしましたが、失敗します。何が問題だったか覚えていない。そこで、クライアントコードの証明書の検証をオフにします。

あなたはここでそれについて読むことができます。

于 2012-05-29T12:45:25.080 に答える