Большое спасибо за ваш полный ответ. Как я уже говорил, я использую IP-адрес. Влияет ли это на два метода (Embedded и Trust all)

имаюсь разработкой приложения для Android, которое должно использовать .Net веб-сервисы через SSL, с которым у меня нет опыта. Сейчас я ищу некоторые рекомендации и пояснения по рукопожатию SSL и сертификатам.

Запись: сервер используетайпи адрес а НЕ доменное имя. Это приложение для внутренней сети.

До сих пор я создал сертификат (называемый самоподписанным?) На веб-сервере из IIS 7. Чтобы использовать его из приложения Android, я нашел два способа сделать это:

1). Вложил сертификат в приложение (Какой сертификат? Как его получить?)

2). Доверяйте всем сертификатам (ppl сказал, что при таком подходе есть проблемы с безопасностью, не могли бы вы рассказать подробнее? Это все еще помогает?)

СЕРТИФИКАТЫ:

Сколько типов сертификатов в рукопожатии и что они?

Есть ли у самоподписанного сертификата корневой сертификат? Если да, как я могу получить их?

Можно ли переместить / скопировать самозаверяющий сертификат с одного сервера на другой?

РУКОПОЖАТИЕ:

Прежде всего, правильно ли этот процесс?

Процесс рукопожатия SSL (скопированный с веб-сайта) описан ниже:

Клиент инициирует процесс рукопожатия SSL, отправляя URL-адрес, начинающийся со следующего: https: // на сервер.

Клиент первоначально отправляет веб-серверу список каждого алгоритма шифрования, который он поддерживает. Алгоритмы, поддерживаемые SSL, включают RC4 и Стандарт шифрования данных (DES). Клиент также отправляет серверу свою строку случайного вызова, которая будет использоваться позже в процессе.

Будет ли встроенный сертификат отправлен сюда?

Затем веб-сервер выполняет следующие задачи:

Выбирает алгоритм шифрования из списка алгоритмов шифрования, поддерживаемых и полученных от клиента.

Отправляет клиенту копию своего сертификата сервера.

Посылает клиенту его случайную строку вызова

Клиент использует копию сертификата сервера, полученного от сервера, для аутентификации личности сервера.

Клиент получает открытый ключ сервера из сертификата сервера.

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

Что такое мастер-ключ?

Сервер отправляет клиенту хешированный ключ всех сообщений о рукопожатии, которыми обмениваются две стороны.

Из чего сделан этот ключевой хеш?

Затем сервер и клиент генерируют сеансовый ключ из разных случайных значений и ключей и применяют математические вычисления.

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

Ключ сеанса сбрасывается, когда сеанс SSL либо истекает, либо завершается.

Ответы на вопрос(1)

Ваш ответ на вопрос