2015-07-30 2 views
2

У меня есть веб-служба, которую будут иметь клиенты, и я хочу, чтобы данные, отправленные на сервер, были зашифрованы. Чтобы проверить это, я использовал собственный сертификат SSL. Я знаю, что, когда вы используете самоподписанный сертификат и когда вы переходите на любой адрес, который он использует, веб-браузер предупреждает вас о том, что он небезопасен и т. Д.Использование самоподписанного SSL-сертификата только для веб-службы

Мне интересно, могу ли я столкнуться с любыми проблемами если я использую этот сертификат вместо проверенного, когда веб-сервис переходит в эфир?

Также у меня нет имени домена для сервера, поэтому я просто буду использовать IP-адрес, предоставленный моим провайдером, это нормально делать с сертификатом, потому что везде, где я читал о них, люди говоря об использовании их с именами доменов?

ответ

0

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

Теперь, при использовании самоподписанного сертификата, сущность, которому выдана сертификация, сама является полномочием подписания корня. И, следовательно, сертификат должен быть импортирован в ваш магазин доверия вручную. Вам нужно сделать это, чтобы получить ваше квитирование SSL.Но это само по себе не решает вашу проблему. Поскольку вы не используете ни одно доменное имя, ваш IP-адрес может быть изменен каждый раз при перезагрузке вашего сервера, если вы автоматически получаете IP-адрес своего сервера через DHCP-сервер. Если это так, то даже доверенный самоподписанный сертификат не будет работать после изменения IP-адреса. Поскольку сертификат выдается IP-адресу, и после изменения IP-сертификата сертификат становится недействительным. Чтобы обойти это, вам нужно получить статический IP-адрес для своего сервера от сетевого администратора. Затем создайте самоподписанный сертификат для вашего статического IP-адреса. Затем попросите своих клиентов добавить сертификат своего сервера в свой магазин доверия.

Это было бы немного утомительно для ваших клиентов. Но если у вас есть фиксированное количество клиентов, а клиентские компьютеры находятся под вашим контролем, вы можете сами добавить сертификат сервера в хранилище доверия клиентов. Но, если ваш сервер открыт для всех или имеет огромное количество клиентов, я бы предложил получить сертификат, подписанный известным и доверенным центром сертификации. Опять же, вам все равно нужно иметь статический IP-адрес независимо от того, кто подписывает ваш сертификат, если ваш сервер не получает доменное имя.

+0

Браузеры предупреждают, что целевой сервер небезопасен, если цепочка доверия сертификатов сервера не может быть проверена. Браузеры все еще могут позволить пользователю продолжить, приняв связанные с этим риски. Но в случае не-браузерных клиентов SSL-квитирование не удастся и, следовательно, соединение с сервером будет удалено. – Drona

0

Проблема с самоподписанными сертификатами одинакова в любом сценарии, браузере или не в браузере: он абсолютно ничего не гарантирует. Назначение SSL - два раза: шифрование и аутентификация. Обычно оба аспекта используются/необходимы клиенту SSL для того, чтобы соединение действительно считалось безопасным.

Для аутентификации («с кем я разговариваю?») Используются сертификаты. Чтобы проверить подлинность вашего партнера с сертификатом, вам придется либо иметь копию этого сертификата для сравнения, либо вам понадобится копия сертификата подписывающего лица этого сертификата для сравнения подписи. Если у вас их нет, сертификат ничего не гарантирует.

Смысл: самоподписанные сертификаты в порядке , если клиент имеет копию этого сертификата и может доверять источнику получения сертификата. Если у вас очень узкий прецедент, когда каждый клиент, который собирается подключиться к вашему веб-сервису, должен был связаться с вами (например, по электронной почте), и вы можете предоставить копию сертификата им для их установки в их местное хранилище доверия, то они могут установить безопасное и аутентифицированное соединение с вами независимо.

Это не подходит для типичного веб-сайта с произвольными случайными посетителями; для чего подписаны сертификаты, где уже доверенный объект может поручиться за ранее неизвестный третий объект. Тем не менее, он может работать в сценарии поставщика-клиента.

Сказав, что в наши дни сертификаты бесплатны для дешевых и предоставляют вам больше доверия и профессионализма.

И да, сертификаты могут быть issued for IP addresses.

 Смежные вопросы

  • Нет связанных вопросов^_^