web-dev-qa-db-ja.com

パブリックIPアドレスのSSL証明書?

Comodo Positive SSLを購入したところ、パブリックIPアドレスがサポートされていないため拒否されましたが、サポートされているのはドメイン名のみです。

ドメイン名の代わりにパブリックIPアドレスをサポートするSSL証明書プロバイダーを知っている人はいますか?

私の会社には、Webホスティング会社でホストされている専用サーバーがあり、複数のプロジェクト(複数のクライアント用)のバグトラッカーを実行するために使用されています。これはバグトラッカーにのみ使用されるため、ドメイン名は必要ありません(クライアントはブラウザーにパブリックIPを入力してドメイン名にアクセスします)。

10
serial engine

私はあなたがこれを行うことができると思いますが、あなたがそれをしようとしている方法ではありません。

SSL証明書は、公開暗号鍵をX.500構造にバインドするステートメントであり、CNまたはCommon Name要素を含みます。署名付き証明書とは、エンドユーザーに既知の公開鍵(ブラウザー内にある認証局(CA)証明書のスタック)を使用して、バインディングがサードパーティの認証局によって検証可能に証明される証明書のことです。

ブラウザでSSLで保護されたWebサイトにアクセスすると、署名されたCNがブラウザに通知されます。 ブラウザがそれをどう選択するかはブラウザ次第です。私が知っているブラウザは、要求されたホスト名と比較し、それは異なります(または、その認定されたバインディングが分析に耐えられない場合、たとえば、署名証明書がブラウザーに認識されていないか、バインディングが古くなっていますが、それは別の問題です)。原則として、CNがFQDN(完全修飾ドメイン名)ではなくIPアドレスである公開署名付き証明書を取得できないわけではありませんが、魔法のようにはなりませんブラウザに、CNを要求されたホスト名ではなくIPアドレスと比較させます。

あなたの問題を解決する最も簡単な方法は自分のCAを開始することだと思います。これは簡単に行えます。また、多くの公開チュートリアルがあります。 1つは ここ です。エンドユーザーがCAをブラウザーにインポートすると、作成したすべての証明書が信頼できるものとして受け入れられます。

次に、1つのIPアドレスで多くのNameVirtualHostサイトを実行したいという2番目の問題が発生する可能性があります。 (TLSとは異なり)SSLネゴシエーションは接続上の他の何よりも前に発生するため、これは歴史的には優れていません。つまり、証明書に埋め込まれたCNがクライアントに知らされ、クライアントによって使用されますbeforeクライアントは、自分がどのホストであるかを言うことができます接続しようとしています。

最近、SNI(Server Name Indication)と呼ばれるプロトコル拡張が導入されたようです。これにより、SSL証明書が提示される前にクライアントとサーバーがホスト名に関することを行い、セットの正しいものを許可することを示すことができますサーバーによって与えられるべき証明書の。どうやらこれには、OpenSSLの十分に新しいバージョンであるApache 2.2.10、および(importantly)クライアント側のサポートが必要です。

したがって、私があなたがしようとしていることをしなければならなかった場合、私は自分のCA証明書を作成し、SNIをサポートするブラウザを使用してCAルート証明書をインポートする必要があることをエンドユーザーに伝え、バグトラックサイトごとに自分のSSL証明書に署名します。

[1]わかりました。あなたはそれを行う人を見つけていないかもしれませんが、それは実装の詳細です。ここで紹介しようとしているのは、あなたがそうしたとしても、それはあなたの問題を解決しないということです。

16
MadHatter

すべての主要なブラウザーおよびの問題が事前に入力されていることを知っているルート認証局が1つありますパブリックIPアドレスのSSL証明書: GlobalSign をご覧ください。 RIPE情報を読み取って証明書要求を検証するため、最初にRIPEエントリが正しい名前で発行されていることを確認することをお勧めします。

フィードバックに関して、このエントリは得ています:

はい、ドメイン名を購入し、そのCNでSSL証明書を発行することをお勧めします。また、上記のGlobalSignオプションよりも安価です。

しかし、CNとしてパブリックIPを持つSSL証明書が役立つ場合があります。多くのインターネットプロバイダーや政府は、DNSインフラストラクチャに基づいて不要なサイトをブロックしています。政治的な理由などでブロックされる可能性のあるサイトを提供している場合は、パブリックIPアドレスを介してこのサイトにアクセスできるようにすることをお勧めします。同時に、あなたはそれらのユーザーのトラフィックを暗号化することを望み、テック以外のユーザーが彼らのセキュリティ例外警告をクリックする煩わしさを経験することを望まないでしょうブラウザ(証明書のCNが実際に入力されたものと一致しないため)独自のルートCAをインストールさせることはさらに面倒であり、現実的ではありません。

10
semanticalo

ドメイン名を購入してください。それらは安く、それより安くはありません。必要なのは1つだけです。たぶん、bugtracker.yourcompany.comをセットアップするだけかもしれません。

次に、バグトラッカーごとに、その名前のサブドメインを設定します。それらの各サブドメインのSSL証明書を取得します。あなたは特にコストを嫌うように見えるので、あなたが取引したい会社はStartSSLと呼ばれます。

http://www.startssl.com/

それらを使用したい理由は、(主要なブラウザーから信頼されていることに加えて)それらの証明書は一本一本の費用がかからないためです。最も基本的な種類の証明書は、本当に、正直に言って、たわごとがありません。彼らはあなたの身元を確認し、必要な数だけ発行させます。より洗練された証明書(通常は数百ドルかかる)が必要な場合は、2年間で約$ 50を見て、単一のIPで複数のドメインのSSLをサポートします。

彼らはあなたが得るもののために超安いです。他の場所のように90日間の試用版ではなく、クライアントのブラウザーによって信頼される実際の証明書を発行します。

1
Paul McMillan