1台のサーバーで複数のSSL証明書を使用したい。以前は、それを指すIPが多い場合にのみ可能でした。クライアント側の実際のブラウザでのみサポートされていますが、それを実現できるSNIについて読みました。私は常にSNIの前提条件を読み、少なくともApacheバージョン2.2.12とOpenSSL0.9.8fが必要であることを確認しました。
では、この手法でThawte、Verisign、またはその他の認証局からの証明書を使用できますか?これらの証明書はOpenSSLではありませんか?
1台のサーバーで複数のSSL証明書を使用したい。以前は、それを指すIPが多い場合にのみ可能でした。クライアント側の実際のブラウザでのみサポートされていますが、それを実現できるSNIについて読みました。私は常にSNIの前提条件を読み、少なくともApacheバージョン2.2.12とOpenSSL0.9.8fが必要であることを確認しました。
では、この手法でThawte、Verisign、またはその他の認証局からの証明書を使用できますか?これらの証明書はOpenSSLではありませんか?
サーバー名表示は、クライアントが要求しているホスト名をサーバーに通知するメカニズムです。これにより、サーバーはクライアントに送信する証明書を選択できます(複数ある場合)。証明書の発行者は関係ありません。
これが機能するには、SNI拡張機能がクライアントとサーバーの両方でサポートされている必要があります。これが、OpenSSLでApacheサーバーを使用している場合、それをサポートするバージョンが必要な理由です。クライアント側のサポートはブラウザに限定されず(最近のバージョンのcURLもSNIをサポートする必要があります)、ブラウザ/プラットフォームによって異なります。
暗号化ライブラリとして OpenSSL と、OpenSSL を使用して作成された証明書を混在させました。SNI は SSL に関するものであり、証明書は SSL ではありません。証明書は独立したエンティティであり、SSL でよく使用されます。
SNI が機能するには、サーバーとクライアントの両方が SNI をサポートしている必要があります。ただし、どの証明書を使用するか (または証明書を使用するかどうか) は問題ではありません。