Помогите с SSL

kruzer25

Что-то я не пойму...
Когда устанавливается ssl-соединение:

A Client sends a ClientHello message specifying the highest TLS protocol version it supports, a random number, a list of suggested cipher suites and compression methods

The structure of the client hello is as follows.
struct {
ProtocolVersion client_version;
Random random;
SessionID session_id;
CipherSuite cipher_suites<2..2^16-1>;
CompressionMethod compression_methods<1..2^8-1>;
} ClientHello;
client_version The version of the SSL protocol by which the
client wishes to communicate during this
session. This should be the most recent
(highest valued) version supported by the
client. For this version of the specification,
the version will be 3.0 (See Appendix E for
details about backward compatibility).
random A client-generated random structure.
session_id The ID of a session the client wishes to use
for this connection. This field should be
empty if no session_id is available or the
client wishes to generate new security
parameters.
cipher_suites This is a list of the cryptographic options
supported by the client, sorted with the
client's first preference first. If the
session_id field is not empty (implying a
session resumption request) this vector must
include at least the cipher_suite from that
session. Values are defined in Appendix A.6.
compression_methods
This is a list of the compression methods
supported by the client, sorted by client
preference. If the session_id field is not
empty (implying a session resumption request)
this vector must include at least the
compression_method from that session. All
implementations must support
CompressionMethod.null.
То есть, в этом Client Hello нигде не содержится имя домена, и сервер знает только, на какой ip-адрес обращается клиент.
Между отправлением Client Hello и получением сертификата от сервера, клиент ничего не отправляет серверу.
Но сертификат должен содержать (в поле Subject) описание того, кому он выдан - и, при использовании https, там должно содержаться имя домена, к которому подключается клиент.
И, если на одном ip-адресе несколько доменов - как сервер должен понять, какой из сертификатов он должен отдать?

Andr163

так по моему апач все время ругается, что должен быть один сертификат на один айпишник

kruzer25

А если не думать об апаче? Получается, такое в принципе не возможно, из-за особенностей протокола?

Andr163

насколько я знаю, да

tatarin

Вполне возможно - просто в httpd.conf путь к сертификату прописывается для конкретного Virtual Host.

Andr163

а чего тогда в ссл лог при старте апача валится
Init: You should not use name-based virtual hosts in conjunction with SSL!

kruzer25

Пиздец какой-то, это кто же догадался тогда до такого устройства https?
А хостеры (тот же plesk) как с этим справляются?

Andr163

хз может в гугле есть чо

kruzer25

Это ты к чему?

Andr163

Поддержка виртуальных хостов "name based" возможна не в полном варианте
- сетрификат вы не сможете сделать различными для разных "name based"
виртуальных хостов. Это связано с тем, что сначала устанавливается
SSL-туннель, а затем по нему идёт обмен данными, что определяет выбор
сертификатов до получения HTTP-запроса.

ava3443


Name-based virtual hosting cannot be used with SSL secure servers because of the nature of the SSL protocol.

kruzer25

Оторвать бы яйца тому, кто это придумал...
Всё-таки, как хостеры выходят из ситуации, когда клиент говорит "я зарегал домен вася.ру, у меня есть сертификат на него, хочу, чтобы моих посетителей обслуживали на вася.ру с этим сертификатом"? Выделяют васе отдельный айпишник?

nikita270601

http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apa...
Сам не читал, просто название понравилось

kruzer25

Некрофил!
А вообще, спасибо за ссылку, но вот это:
The current version of OpenSSL - 0.98 at the time of writing - does not support SNI yet, but this is planned for the upcoming 0.99 release
сильно смущает.
Похоже, раньше мы будем пользоваться ipv6 и сможем делать каждому клиенту отдельный айпишник, чем клиенты будут поддерживать эту SNI.
Оставить комментарий
Имя или ник:
Комментарий: