Импорт сертификата PKI - PullRequest
       5

Импорт сертификата PKI

0 голосов
/ 24 апреля 2011

Когда я вхожу в свою банковскую учетную запись, используя https, перед вводом информации для входа в систему используется только SSL-аутентификация на стороне сервера.Мой браузер выполняет аутентификацию сервера на основе информации сертификата с сервера во время сеанса SSL.Мне не нужно было выполнять какой-либо ручной импорт сертификата сервера как доверенного сертификата в мой браузер.Это просто происходит во время выполнения во время обмена SSL.

С другой стороны, я также видел приложения, в которых нужно вручную импортировать сертификат (например, с помощью keytool), когда вы смотрите в их руководство по установке.

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

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ, основанная на ответах ниже: Я имел в виду сценарий, в котором я устанавливал коммерческое программное обеспечение на основе модели клиент-сервер с включенной аутентификацией SSL на стороне клиента.Я установил сервер на машине A и 2 клиента на разных машинах в моей частной сети.Во время установки сервер генерирует самозаверяющий сертификат локально.Так же как и 2 клиента.После завершения установки меня попросили скопировать сертификаты клиентов на серверный компьютер и вручную импортировать их как доверенные сертификаты.Также скопируйте сертификат сервера на клиентские машины и выполните импорт в их доверенное хранилище.Они предоставили инструмент-оболочку поверх Java Keytool для выполнения импорта сертификата. Почему здесь необходим этот ручной импорт?Клиент и сервер в любом случае будут обмениваться информацией о сертификате во время SSL-рукопожатия и выполнять аутентификацию.Опять же, это самозаверяющие сертификаты и CA, участвующие здесь.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2011

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

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

Редактировать: Применимо то же самое: хранилище ключей хранит список доверенных центров сертификации и их соответствующие сертификаты. Вся концепция PKI состоит в том, чтобы иметь иерархию доверенных CA, которые выдают подписанные сертификаты для других сторон. Если сертификат является самозаверяющим, то нет действительной цепочки доверия - как Java узнает, что злоумышленник не подделал сертификат?

Вы предполагаете, что соединение между клиентом и веб-сервером неявно является доверенным только потому, что сертификаты обмениваются во время рукопожатия SSL. Что если человек посередине изображает из себя веб-сервер и вместо отправки сертификата сервера отправляет свой собственный сертификат? Как клиенты узнают, что сертификат, полученный человеком посередине, нельзя доверять? Если сертификат подписан доверенным центром сертификации или сертификат был добавлен в хранилище ключей вручную в качестве доверенного сертификата, клиент может проверить, должен ли он доверять сертификату или нет.

0 голосов
/ 24 апреля 2011

Сертификат сервера SSL должен быть "подтвержден" центром сертификации (ЦС).Ваш браузер (или другая программа) содержит список CA, которым он доверяет.Если вы используете сайт, который не сертифицирован одним из стандартных ЦС, вам придется импортировать его ЦС, чтобы проверка прошла успешно.

Нет законного сайта(особенно для онлайн-банкинга) должен требовать использования «альтернативного» ЦС.Делайте это только для сайтов, на которые вы не отправляете сверхчувствительные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...