(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サーバーはそれをしません。欠落しているコンポーネントは、明示的にキーストアに含める必要があります。したがって、答えは、必要なコンポーネント(証明書)を正確に見つけてそれらを含める方法を示す必要があります。
このフォーラムでこれまでにお答えした回答は、この質問の中心的な(そしてそれほど重要ではない)側面には対処していません。あまり重要でないのは、バージョン、証明書のタイプ、結果のテストです。さらなるヒントとして、セキュリティを全くテストする信頼できる方法がないかもしれません - これは本当に残念ですが、私はそれを助けることはできません。
質問の重要な特徴は、私がその質問に固有の答えを求めていることです。
Google for Java 'keytool'(JDKの一部)。私はPortecleを好むだろう、オープンソースのUIキーストアエディタである。ファイルをデスクトップシステムにエクスポートし、それらを結合してから、サーバーにコピーして戻してください。 – Robert
質問は正確な手順を尋ねています - 個人的な好みのためのGoogleへのリンクのためのものではありません。 – Michael
@OmikronとRobert:私の質問はどちらかの複製ではありません。あなたがその質問を読むと、それはあなたが見るものです。 – Michael