В чем разница между собственной подписью и сертификатом, созданным центром сертификации - PullRequest
4 голосов
/ 25 июня 2010

Я хочу знать разницу между собственной подписью и сертификатом, созданным центром сертификации.

Я могу легко создать самозаверяющий сертификат для домена xyz.com, в чем же разница между этим сертификатом и сертификатом, сгенерированным CA?

Сценарий

Предположим, что сайт xyz.com защищен сертификатом, выданным xyz.com , и доступ к нему могут получить клиенты, у которых есть сертификат, выданный сайтом.

Я также могу создать собственную подпись для xyz.com , тогда как мой сервер позаботится об этом поддельном сертификате?

Ответы [ 5 ]

7 голосов
/ 25 июня 2010

Если сертификат CA уже установлен в вашем браузере, то когда ваш браузер обнаруживает сертификат, который утверждает, что подписан определенным CA, он может проверить, действительно ли он был подписан этим CA. Сам CA обычно так или иначе проверяет вашу личность перед подписанием вашего сертификата.

Ваш самоподписанный сертификат только что подписан вашим собственным центром сертификации. Никто не подтвердил, что сертификат на самом деле принадлежит тому человеку, на которого он претендует. Вы можете установить корневой сертификат CA в свой браузер. Таким образом, вы не получите эти раздражающие предупреждающие сообщения о сертификате. Другие пользователи обычно не имеют установленного корневого сертификата собственного ЦС и все равно получат предупреждение.

3 голосов
/ 25 июня 2010

Нет разницы между самими сертификатами. Важной частью является то, что ЦС действует как доверенная третья сторона. То есть клиент может не знать, кто вы, но если он доверяет CA, и CA поручается за вас, то он может вам доверять. Это не столько сам сертификат, сколько цепочка доверия, которую обеспечивает ЦС.

2 голосов
/ 25 июня 2010

ЦС также проводит некоторую проверку того, кем вы являетесь, поэтому вы добавляете дополнительный уровень уверенности при использовании сайта. Самозаверяющий сертификат может также не получить полный «замок» в браузере клиента.

1 голос
/ 25 июня 2010

И для завершения других ответов операционная система поставляется с предварительно установленными корневыми сертификатами от Microsoft или других доверенных органов.если ваш сертификат подписан одним из них, предупреждение не будет отображаться.если сертификат подписан центром сертификации, который ОС не распознает, он выдаст предупреждение.

0 голосов
/ 16 января 2014

Основным отличием между самоподписанным сертификатом и сертификатом, выданным ЦС, является цепочка доверия. Если вы подписываете свой собственный сертификат, то, когда вы или другие используете его, они должны будут конкретно доверять серверу, с которым вы подписали сертификат. Это можно сделать, добавив сертификат в список «доверенных корней CA» в своем браузере (например, Firefox или хранилище CAPI от Microsoft для MSIE или Chrome) или в свой файл cacerts для приложений Java. В противном случае ваш самозаверяющий сертификат не будет доверенным, и вы получите «предупреждение» или сообщение об ошибке в зависимости от того, насколько строгими являются ваши настройки безопасности в этой среде (например, Java или ваш конкретный браузер).

С сертификатом, подписанным ЦС, вы не получите это предупреждение, если ЦС, подписавший сертификат, или доверенный Корень ЦС (тот, который подписал сертификат этого ЦС) уже находится в соответствующем доверенном хранилище ( т.е. браузер или cacerts файл для Java). Microsoft и Oracle (для Java) постоянно обновляют доверенные ЦС и управляют списками отзыва сертификатов (списками отзыва сертификатов) для ЦС или органов, которые были скомпрометированы или отозваны.

Обычно один из этих доверенных центров сертификации (например, verisign, entrust и т. Д.) Взимает $$ за подпись и выдачу сертификатов, и чем дольше срок действия, тем больше они взимают.

Самоподписанный является бесплатным и может быть выдан на длительный период времени (хотя и не рекомендуется).

...