То, что вы хотите сделать, невозможно. И вот почему.
Сертификат будет включать в себя набор имен (общее имя, возможно, наряду с альтернативными именами субъекта, возможно, включая подстановочные имена).
Веб-браузер клиента будет выполнять следующие действия:
- Пользователь хотел посетить "https://myapp.mydomain.com/blog/posts/1".
- Запрос выполняется через SSL, а имя домена в запросе - "myapp.mydomain.com".
- Получить сертификат с веб-сервера.
- Убедитесь, что хотя бы одно из имен в сертификате точно совпадает или совпадает с подстановочным знаком доменного имени в запросе.
- Показать страницу.
Следовательно, вам необходим сертификат с точным доменным именем (или подстановочный знак, совпадающий с точным доменным именем), по которому будет использоваться приложение. И сертификат должен быть доступен одновременно или позднее, когда станет известно точное доменное имя веб-сайта, и его нельзя будет сделать доступным ранее.
Похоже, вы ошибаетесь в том, что каким-то образом сертификат может "создать" или "установить" соединение SSL. Это неверно. Веб-сервер - Apache, IIS, Nginx, LigHTTPD или любой другой, который вы используете, - это программа, которая знает все аспекты SSL-соединения. Сертификат является просто файлом , который веб-сервер отправляет клиенту, , даже не открывая и не используя каким-либо образом .
Кроме того, автор распространяемого веб-приложения не несет ответственности за создание или распространение сертификатов и не должен ошибочно полагать, что он несет за это ответственность. Только администратор сайта должен отвечать за получение сертификата для своего сайта. Как заметил другой человек, в процессе установки или, возможно, в процессе после установки, вы можете попросить человека, устанавливающего веб-приложение, получить сертификат. Но это лучшее, что вы можете сделать.