2016-09-27 11 views
-1

(Javaベースの)vert.x 3サーバを、http: 、2.中間体、および3.秘密鍵。証明書、中間証明書、秘密鍵からキーストアを作成する

のapache2のhttpdが正常ssl.confでは次のような構成を有するこの3つのファイルの同じものを使用して構成することができる(経路は省略):

<VirtualHost> 
    ... 

    SSLCertificateFile certificate.cer 
    SSLCertificateKeyFile privatekey.key 
    SSLCertificateChainFile intermediate.cer 

    ... 
</VirtualHost> 

ブラウザは文句なしHTTPS接続を受け入れました。

new HttpServerOptions() 
.setSsl(true) 
.setKeyStoreOptions( 
    new JksOptions() 
    .setPath("keystore.jks") 
    .setPassword("...") 
) 
); 

私は言う:...それは必要

は、それから私は、Javaベースのvert.x 3サーバは、少なくともJavaキーストアファイルやパスワードを必要とする... Javaへ

を切り替えます「少なくとも」キーストアとパスワード、それはそれ以上を必要とするかもしれないので...

ブラウザが私に語った:

www.mydomain.com uses an invalid security certificate. 
The certificate is not trusted because the issuer certificate 
is unknown. The server might not be sending the appropriate 
intermediate certificates. 
An additional root certificate may need to be imported. 
Error code: SEC_ERROR_UNKNOWN_ISSUER 

www.mydomain.comが正しい場合、ブラウザが証明書について表示する驚くべき情報は、上記のようにapache2 httpdを使用した場合と同じです。

問題を解決するために、上記の3つのファイルをjavaキーストアに変換する完全な手順を示してください。動作するスクリプト(javaのkeytoolとopensslのようなubuntu/linux標準ツールを使用してください)を表示してください。

これらのツールを使用して正しい結果をテストする方法を学ぶことも、さらに楽しくなります。

この質問はいくつかの理由で重複していない - 私はヒントを与える:

まず、ここで私はapache2のHTTPDの設定およびJavaベースのVERTX 3サーバーとの間の差を求めています。

第2に、3つ以上のコンポーネントを完全なJavaキーストアに結合する方法を尋ねています。 Httpdは、必要な4番目のコンポーネントにアクセスし、それを暗黙的にフェッチします。 Javaサーバーはそれをしません。欠落しているコンポーネントは、明示的にキーストアに含める必要があります。したがって、答えは、必要なコンポーネント(証明書)を正確に見つけてそれらを含める方法を示す必要があります。

このフォーラムでこれまでにお答えした回答は、この質問の中心的な(そしてそれほど重要ではない)側面には対処していません。あまり重要でないのは、バージョン、証明書のタイプ、結果のテストです。さらなるヒントとして、セキュリティを全くテストする信頼できる方法がないかもしれません - これは本当に残念ですが、私はそれを助けることはできません。

質問の重要な特徴は、私がその質問に固有の答えを求めていることです。

+0

Google for Java 'keytool'(JDKの一部)。私はPortecleを好むだろう、オープンソースのUIキーストアエディタである。ファイルをデスクトップシステムにエクスポートし、それらを結合してから、サーバーにコピーして戻してください。 – Robert

+1

質問は正確な手順を尋ねています - 個人的な好みのためのGoogleへのリンクのためのものではありません。 – Michael

+0

@OmikronとRobert:私の質問はどちらかの複製ではありません。あなたがその質問を読むと、それはあなたが見るものです。 – Michael

答えて

0

KeyStore Explorer 5.2ツールを使用してキーとストアをインポート/マージし、よりグラフィカルな方法で必要なすべての操作を行うことができます。スクリプトが必要な場合は、キーツール "API"を確認してください。

+0

私はヘッドレスのサーバー環境で作業することを前提としており、特にセキュリティに関しては、配布の一部ではないソフトウェアのインストールを避けたいと考えています。 – Michael

+0

問題は、何かを行う方法を提供する普遍的なツールの存在ではなく、「あなたが望むようにキーとストアをインポート/エクスポート/マージする」という、正確な手順を求めています。 – Michael

+1

私が言ったように、 "私はそれが役に立っているかどうかわかりません"と思ったのですが、例えばテスト目的でキーをマージしたいと思ったのです。シンプルな "ありがとう、しかし、それは私を助けない"というのは、2つのコメントの代わりに十分だっただろう。がんばろう ! –

関連する問題