У нас есть проблема с обеспечением интранет / интернет-веб-сайт с SSL, где мы не можем знать квалифицированное доменное имя заранее.
В основном я пытаюсь сделать программу, которая будет установлена на веб-сервере вне моего прямого управления, чтобы быть доступна законченный внутри - или Интернет. В любом случае я хочу, чтобы это было безопасно через SSL (https). Чтобы сделать это, я хотел бы включать и установить сертификат SSL на целевой машине. Мой установщик полностью предварительно упаковывается и не должен требовать никакого конкретного во время - или вмешательство постустановки от моего конца. Проблема, я не могу знать заранее название целевой машины или доменное имя, поэтому насколько я могу сказать, что соединение SSL будет возвращать предупреждения (или хуже?) при доступе, начиная с сертификата я включаю желание (должен) иметь другое имя на нем.
Я действительно хочу избежать тех предупреждений, но я все еще хочу сохранить это безопасным. Там какой-либо путь состоит в том, чтобы установить соединение SSL без предупреждений сертификата без знавшего заранее доменного имени?
Спасибо за любую справку Вы люди могут дать.
То, что вы хотите сделать, невозможно. Вот почему.
Сертификат будет включать набор имен (Общее имя, возможно, вместе с Альтернативными именами субъектов, возможно, включая имена с подстановочными знаками).
Веб-браузер клиента сделает следующее:
] Следовательно, вам нужен сертификат с точным доменным именем (или подстановочным знаком, совпадающим с точным доменным именем), с помощью которого будет использоваться приложение. И сертификат должен быть доступен одновременно или позже того времени, когда станет известно точное доменное имя веб-сайта, и не может быть доступен раньше.
Вы, кажется, заблуждаетесь, что каким-то образом сертификат может «создавать» или «устанавливать» SSL-соединение. Это неправда. Веб-сервер - Apache, IIS, Nginx, LigHTTPD или любой другой, который вы используете, - это программа, которая знает, как работать с каждым аспектом подключения SSL. Сертификат - это просто файл , который веб-сервер отправляет клиенту, даже без открытия или использования каким-либо образом .
Кроме того, автор веб-приложения для be distribution не несет ответственности за создание или распространение сертификатов и не должен ошибочно полагать, что несет ответственность. Только обслуживающий веб-сайт должен нести ответственность за получение сертификата для своего веб-сайта. Как заметил другой человек, в процессе установки или, возможно, в процессе после установки вы можете попросить человека, устанавливающего веб-приложение, получить сертификат. Но это лучшее, что вы можете сделать.
Лучшее, что вы можете сделать, это купить SSL-сертификат с подстановочным знаком, но подождите, это не то, что вы думаете. Вам все равно нужно заранее знать домен второго уровня (TLD - «.com»). Вы можете запросить сертификат, охватывающий * .foo.com - тогда он будет покрыт любым сайтом, a.foo.com, b.foo.com. Конечно, эти сертификаты дороже, чем сертификаты FQDN, потому что вы делаете ошибки из-за дополнительной монеты.
-Oisin
В большинстве (если не во всех) случаях сертификат SSL связан с веб-сервером (apache, IIS и т. Д.) И не является частью вашего приложения. Установить сертификат должен администратор веб-сервера, а не вы, как автор программы.
Если ваша программа установки имеет возможность изменять конфигурацию веб-сервера, и вы хотите, чтобы она использовала самозаверяющий сертификат, вы можете создать сценарий сертификата, чтобы разрешить ввод имени домена. Однако я чувствую, что это действительно недоступно для вас. Кроме того, самозаверяющий сертификат обычно вызывает предупреждения о сертификате.
У каждого из этих сайтов должен быть собственный сертификат SSL. Почему бы не предложить пользователю предоставить файл сертификата во время установки?