メンバーメニュー

ようこそ、ゲストさん

トップ > カテゴリ一覧 > SSLボックス > ワイルドカード対応SSLサーバ証明をkeystoreへ

質問

  • ワイルドカード対応SSLサーバ証明をkeystoreへ
  • 本文:

    三反田です。

    以下のワイルドカード対応のSSLサーバ証明書(SSLボックス)を保有しています。tomcatが稼働しているlinuxサーバに、このワイルドカード対応のSSLサーバ証明書を導入したく作業をしていますがエラーが出て困っております。
    なお、そのtomcatサーバでは通常のSSLサーバ証明書があって2月3日までの有効期限です。

    保有済みワイルドカード対応のSSLサーバ証明書(SSLボックス):
    RapidSSL.com ラピッドSSL ワイルドカード

    以下のkeystoreへのインポート作業でエラーが出ます。
    # /usr/local/aipo/jre/bin/keytool -importcert -alias tomcat -trustcacerts -file ABC.crt
    キーストアのパスワードを入力してください:
    keytool エラー: java.lang.Exception: 応答した公開鍵とキーストアが一致しません。

    このエラーの意味も?であり。ネットで検索しますが用を得ません。
    ご教示頂けると助かります。

  • 緊急度:緊急投稿者:himukaさん投稿時間:2014/01/29 08:53
質問に対する回答は締め切られました

回答 No.2439

  • この回答がベストアンサーです

  • 本文:

    apacheに慣れているのなら、
    opensslで作成したSSL証明書と鍵をkeytoolにインポートする
    http://greathabits.simpleasure.net/?eid=1295889
    の記事が役に立つかもしれません。

    理屈をよく理解していないので、深く理由を聞かれても困りますが、とりあえずよさげです。

    # ただ説明には若干のtypoがあるみたいなので、それは修正する必要があります。一つは、-deststoretype jks の重複、もう一つは、-srcalias 指定の不足。

  • 投稿者:ジョバンニさん 投稿時間:2014/01/29 19:58
質問者からのコメント

三反田です。

ジョバンニさん

ご教示頂いた以下の記事で、テスト環境にてワイルドカード対応のSSLサーバ証明書に切替が出来ました。本当に感謝しております。ありがとうございました。
http://greathabits.simpleasure.net/?eid=1295889

ちなみに、弊社の環境では、-alias が必要でした(笑)
例:keytool -alias tomcat -importkeystore -srckeystore
-aliasを記述しないと、以下のエラー有り。
出力先キーストアのパスワードを入力してください:
keytool エラー: java.lang.Exception: 別名を指定しない場合、出力先キーストアの別名、ソースキーストアのパスワード、および 出力先キーストアのパスワードは指定できません
のエラーが出てNGでした。

aliasを記述すると成功でした。
出力先キーストアのパスワードを入力してください:
ソースキーストアのパスワードを入力してください:
既存のエントリの別名 tomcat が存在しています。上書きしますか? [no]:

PS)
 余談ですが、どうもtomcat系は苦手です。克服せねばですが(笑)

回答 No.2437

  • 本文:

    ○今使っている通常のSSLサーバ証明書を作成するときに使用した秘密鍵と、今回のワイルドカード対応SSL証明書を作成するときに使用した秘密鍵が違うか、
    ○中間証明書をインストールしていないか、

    その辺では?

    http://doc.aipo.com/manual/aipo7/operation/ssl_linux.html

    # aipoのサポートに聞いた方が適切かと思います。

  • 投稿者:ジョバンニさん 投稿時間:2014/01/29 11:04
質問者からのコメント

ジョバンニさん
レスありがとうございます。

>○今使っている通常のSSLサーバ証明書を作成するときに使用した秘密鍵と、今回のワイルドカード対応SSL証明書を作成するときに使用した秘密鍵が違うか、
→はい、違っております。ワイルドカードは最近になって生成したものです。aipoサーバには
 ワイルドカード対応の秘密鍵、CA/サーバ証明書のペアで保存しています。
>○中間証明書をインストールしていないか、
→先に行いました。

事前にAipoのサポートに聞いて(ご提示のURL)を確認後に、ketoolコマンドで作業をやるのですがNGなんです。
今までは、他のサーバでのApacheのSSL証明書で、通常の証明書からワイルドカード対応(今回の)に変更するのは数回行っており、難なく成功しておりました。tomcat系への証明書更新(入替え)は初めてであり戸惑っております。

回答 No.2438

  • 本文:

    apacheへのinstallに慣れていて、tomcatへのinstallが初めてなら、ファイルのフォーマットが違うのかもしれませんね。
    (appacheはPEM形式、tomcatはDER形式)

    https://community.oracle.com/thread/1533940?start=0&tstart=0
    3. Re: Public keys in reply and keystore don't match
    try converting to DER format :
    openssl x509 -in xxx.key -out xxx.der -outform DER
    then import the xxx.der into your keystore.

    あとは、-aliasの名前は同じものは使い回さない方がいい、と言っている人もいるようです。


    「応答した公開鍵とキーストアが一致しません。」の意味は、
    「keytool error: java.lang.Exception: Public keys in reply and keystore don't match」で検索した方がいろいろ情報が見つかります。
    サーバーを止めることが許されるなら、一度、古い秘密キーを削除してやり直した方が早いかもしれません。

    http://www.astron.nl/northstar/nswiki/doku.php?do=export_raw&id=deployment:tomcatssl
    === key mismatch ===
    When adding a new proposal.crt to the keystore I got the following message:
    keytool error: java.lang.Exception: Public keys in reply and keystore don't match
    There is a mismatch between the keys with the current keystore and the one contained in the proposal.crt. The are two possible reasons for this (these are assumptions, not proven!)
    - The public keys are out of date or missing. Best to create a keystore from scratch like shown on this wiki page.
    - The proposal.crt is created with a different keystore file than the one used last year. Fix this by creating from scratch or create a new proposal.csr with the correct keystore file.

  • 投稿者:ジョバンニさん 投稿時間:2014/01/29 13:22
質問者からのコメント

ジョバンニさんへ
ありがとうございます。

今回作業を整理しました。そもそも、他のワイルドカードSSL証明書を使うのがNGでしょうか?
1.2月3日に期限満了の通常のSSL証明書有り
2.上記1項とは全く関係の無い、ワイルドカードSSL証明書有り(他サーバにて複数利用中)
  ※但し、全てApache系でありtomcat対応は無し
3.上記2項のワイルドカードSSL証明書を流用して、1項の期限切れのサーバのtomcatに適用
 させたい。この時点で掲示板に投稿したエラーに遭遇。
4.テスト環境(仮想でクローン有り)で、keystore内のaliasを全てdelete。
5.ワイルドカードSSL証明書のca.crt、サーバ.crtをkeystoreにインポート。
6.エラー無くインポートされたが、aipoサービス起動で、tomcatのエラー発生。
7.netstat -snで見ると、443(https)が存在しない。
8.tomcatエラーでは、プロトコルハンドラの初期化に失敗しました:
 エンドポイントを起動中のエラーです
 ロトコルハンドラの起動に失敗しました
 等が発生し、結局httpsがアサインされない状態でした。