web-dev-qa-db-ja.com

Java KeytoolでOpenSSLを使用するにはどうすればよいですか?

believe私はOpenSSLのしくみを理解しており、私believe私はプライベートネットワークにSSLサーバーを設定するための良いゲームプランですが、必要なすべてのソフトウェアをダウンロードして構成するプロセスを実行する前に、この質問を健全性チェックとして投稿したいと思いました。

次のいずれかに該当しない場合は修正してください。

  • OpenSSLはコンパイル済みの(おそらくC/C++)ライブラリで、Linuxサーバーにダウンロードできます。次に、外部アプリケーションから、またはターミナルで直接呼び出すことができるコマンドラインツールを提供します
  • Java keytoolを使用して、OpenSSLが必要とするCSRと秘密鍵を生成できます
  • OpenSSLを介してSSL証明書を取得するには、まずkeytoolを使用してCSRを生成し、何らかの方法で(おそらく引数として)、そのCSRをコマンドラインインターフェイスを介してOpenSSLに渡します

繰り返しますが、これらのいずれかが間違っている場合は、まず私を訂正してください!

さて、私が正しい軌道に乗っていると仮定すると、私はこの方法に関して1つの大きな懸念があります:

無料のオプションですが、HTTPS経由でサーバーに接続しようとするWebブラウザーがCA証明書を認識せず、エンドユーザーに厄介な警告メッセージをスローすることを意味しませんか?

そうでない場合は、その理由を説明してください。もしそうなら、私が探求したい1つのソリューションは、商用SSLプロバイダー(Verisign、Trustwave、GeoTrustなど)からプライマリSSL証明書を購入し、OpenSSLを使用してすべての証明書からその証明書から「分岐」する状況でした。私のサブドメイン。

ここでの目標は、いくつかのSSL証明書を安価に入手することですが、それらの証明書は本物であり、エンドユーザーのブラウザーから信頼されています。

可能性はありますか、または商用ベンダーを経由する必要がありますか?

2
zharvey

あなたの仮定は少し間違っています、そして理由を教えます:csrを生成するには、opensslまたはkeytoolを使用できます。

  • apacheのようなLinuxベースのsserverがある場合は、opensslを使用してcsr /秘密鍵を生成します。次に、証明書(公開鍵)、秘密鍵、および構成ファイルの中間物を参照して証明書がインストールされます。
  • tomcat、Glassfishな​​どのJavaベースのサーバーがある場合は、keytoolを使用してキーストアとcsr/privateキーを生成し、証明書を正しい形式でインストールします。

上記のCA機関のナレッジベースを閲覧すると、必要な詳細がすべて得られると思います。

2
snlpnstslocn