質問
- ワイルドカード対応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.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がアサインされない状態でした。
回答 No.2439
この回答がベストアンサーです
apacheに慣れているのなら、
opensslで作成したSSL証明書と鍵をkeytoolにインポートする
http://greathabits.simpleasure.net/?eid=1295889
の記事が役に立つかもしれません。
理屈をよく理解していないので、深く理由を聞かれても困りますが、とりあえずよさげです。
# ただ説明には若干のtypoがあるみたいなので、それは修正する必要があります。一つは、-deststoretype jks の重複、もう一つは、-srcalias 指定の不足。
質問者からのコメント
三反田です。
ジョバンニさん
ご教示頂いた以下の記事で、テスト環境にてワイルドカード対応のSSLサーバ証明書に切替が出来ました。本当に感謝しております。ありがとうございました。
http://greathabits.simpleasure.net/?eid=1295889
ちなみに、弊社の環境では、-alias が必要でした(笑)
例:keytool -alias tomcat -importkeystore -srckeystore
-aliasを記述しないと、以下のエラー有り。
出力先キーストアのパスワードを入力してください:
keytool エラー: java.lang.Exception: 別名を指定しない場合、出力先キーストアの別名、ソースキーストアのパスワード、および 出力先キーストアのパスワードは指定できません
のエラーが出てNGでした。
aliasを記述すると成功でした。
出力先キーストアのパスワードを入力してください:
ソースキーストアのパスワードを入力してください:
既存のエントリの別名 tomcat が存在しています。上書きしますか? [no]:
PS)
余談ですが、どうもtomcat系は苦手です。克服せねばですが(笑)