Независимо от того, какое серверное программное обеспечение в настоящее время обрабатывает HTTP-трафик (например, Jetty, Nginx, Apache ...), почти наверняка есть средства для добавления поддержки SSL и отключения простого HTTP; попробуйте сначала.
Что касается основного механизма добавления поддержки SSL, он выглядит примерно так:
- Создать пару ключей RSA (размер ключа должен быть не менее 1024 бит). Этот шаг должен предложить вам ввести некоторую информацию о вас, вашей организации и имени хоста сервера (« common name » на языке X.509). Он также должен запросить парольную фразу, которая будет использоваться для шифрования закрытого ключа.
- Пара ключей состоит из личного ключа (это часть, которую вы не должны передавать никому) и самозаверяющего сертификата , который содержит наряду с другими метаданными: открытый ключ .
- Если вы хотите получить настоящий SSL-сертификат, подписанный картелем, чтобы обычные пользователи не видели неприятных предупреждений при посещении вашего сайта, вам необходимо сгенерировать Запрос на подпись сертификата (CSR) из вашей пары ключей и отправьте его в центр сертификации SSL, который создаст сертификат, полученный из вашего CSR, но подписанный своим личным ключом. К счастью, в последние годы бизнес SSL CA стал чрезвычайно конкурентоспособным, поэтому ценообразование больше не должно быть серьезным препятствием.
- Если вы не планируете получить настоящий SSL-сертификат, подписанный картелем, вы можете использовать закрытый ключ и самоподписанный сертификат как есть.
- В любом случае вам нужно указать веб-серверу, как найти сертификат (самоподписанный или подписанный ЦС) и закрытый ключ. Apache HTTPD предпочитает хранить две вещи в отдельных файлах; большинство серверов JVM предпочитают, чтобы они были инкапсулированы в хранилище ключей. Лучший формат хранилища ключей для общего пользования называется PKCS # 12 , это отраслевой стандарт. Создание файла PKCS # 12 из отдельного ключа и получение сертификата немного сложно, посмотрите на ServerFault, если вы не можете понять это. :)
- Обычно вы хотите поместить фразу-пароль закрытого ключа в файл конфигурации сервера, поэтому убедитесь, что файл конфигурации (и файл, содержащий закрытый ключ) имеют самые ограничивающие разрешения, которые все еще будут работать.