2013-03-01 6 views
8

最近、tomcatを使用してサーバーを作成し、この小さなサーバーにSSLサポートを追加しました。 SSLをサポートするには、Entrust、Thawteなどの3番目の発行者が発行した証明書が必要です。SSL - サーバ証明書が特定のマシンにバインドされていますか?

証明書は特定のマシンにバインドされています。一度発行された証明書を取得したら、この証明書を別のマシンで使用することはできません。

CSRにはマシンの情報が含まれていないため、これは完全に疑わしいです。本当?

ありがとうございます。

+0

一部のSSLプロバイダは、非技術的にこれを強制します.1つのサーバーライセンスを購入し、契約上のみに使用することに同意します。 – ceejayoz

答えて

9

証明書は必ずしも特定のマシンにバインドされているわけではありません。マシン上で「証明書を使用する」には、証明書自体と秘密鍵の2つが必要です。 CSRと一緒に秘密鍵を生成する必要があります(使用したツールによって異なります)。

一部のシステムでは、秘密鍵を再抽出することはできません(Windowsは秘密鍵をエクスポートできないようにインポートするオプションがありますが、わかっている限り、これはバイパスできます)。そのマシンに十分なアクセス権がある場合)。スマートカードまたはハードウェアトークンを使用している場合は、秘密鍵が抽出できないように秘密鍵が生成されます(この場合、トークンを新しいマシンに移動することは必要に応じて有効です) 。

その他の部分は証明書とその名前です。証明書のホスト名(CSRにもよく見られるが、それは最終的には必要ではない)は、接続しようとするクライアントが見るように、このマシンのホスト名でなければならないHTTPSのホスト名検証の詳細は、RFC 2818セクション3.1を参照してください)。そのため、証明書自体はハードウェアの観点から特定のマシンに結びついていませんが、このホスト名(このマシンのハードウェアやそのIPアドレスなど)を変更することができます。

+0

これは、証明書がホスト名に関連付けられていることを意味します。それでは、証明書にホスト名がどのように表示されますか? CNですか? もう1つの質問は、SSLクライアントは常にホスト名のチェックを必要とするのですか?(私はそう思わない) – zgcharley

+0

DNSサブジェクトの代替名がある場合、そのホスト名はどれでもかまいません。それ以外の場合は、Subject DNのCNです。 SSLクライアントは常にホスト名を確認する必要があります(そうしないと、MITM攻撃に対して脆弱になることがあります)。 – Bruno

+0

あなたの説明をありがとう! – zgcharley

関連する問題