Сертификат SSL обычно выдается домену и подписывается органом выдачи. Когда браузер подключается к серверу, сервер представляет свой сертификат клиенту. Затем клиент проверяет сертификат, проверяя, является ли домен, к которому он обращается, тот же, что указан в сертификате. Кроме того, он проверяет свою цепочку доверия. Это означает, что сертификат эмитента также должен быть действительным. Если эмитент не является владельцем корневого центра сертификации, то сертификат эмитента эмитента проверяется. И, в конечном счете, нужно доверять полномочиям подписи root, что означает, что корневой администратор должен находиться в вашем доверенном хранилище. Все основные полномочия по подписке, такие как Verisign, Thawte и т. Д., По умолчанию используются в доверенности JDK, следовательно, если у вас есть подписанный им сертификат, то у вас нет проблем в проверке вашей цепочки доверия. Если ваш сертификат подписан авторитетом, которому не доверяют, вам необходимо вручную импортировать сертификат эмитента в свою цепочку доверия.
Теперь, при использовании самоподписанного сертификата, сущность, которому выдана сертификация, сама является полномочием подписания корня. И, следовательно, сертификат должен быть импортирован в ваш магазин доверия вручную. Вам нужно сделать это, чтобы получить ваше квитирование SSL.Но это само по себе не решает вашу проблему. Поскольку вы не используете ни одно доменное имя, ваш IP-адрес может быть изменен каждый раз при перезагрузке вашего сервера, если вы автоматически получаете IP-адрес своего сервера через DHCP-сервер. Если это так, то даже доверенный самоподписанный сертификат не будет работать после изменения IP-адреса. Поскольку сертификат выдается IP-адресу, и после изменения IP-сертификата сертификат становится недействительным. Чтобы обойти это, вам нужно получить статический IP-адрес для своего сервера от сетевого администратора. Затем создайте самоподписанный сертификат для вашего статического IP-адреса. Затем попросите своих клиентов добавить сертификат своего сервера в свой магазин доверия.
Это было бы немного утомительно для ваших клиентов. Но если у вас есть фиксированное количество клиентов, а клиентские компьютеры находятся под вашим контролем, вы можете сами добавить сертификат сервера в хранилище доверия клиентов. Но, если ваш сервер открыт для всех или имеет огромное количество клиентов, я бы предложил получить сертификат, подписанный известным и доверенным центром сертификации. Опять же, вам все равно нужно иметь статический IP-адрес независимо от того, кто подписывает ваш сертификат, если ваш сервер не получает доменное имя.
Браузеры предупреждают, что целевой сервер небезопасен, если цепочка доверия сертификатов сервера не может быть проверена. Браузеры все еще могут позволить пользователю продолжить, приняв связанные с этим риски. Но в случае не-браузерных клиентов SSL-квитирование не удастся и, следовательно, соединение с сервером будет удалено. – Drona