Как организовать https соед в android? Для начала пройдусь по схеме чтоб в было понятнее что я именно хочу:
- Клиент запрашивает у сервера безопасное соединение и отсылает данные о используемом алгоритме шифрование и т.д
- Сервер высылает сертификат с ключём
- Клиент проверяет сертификат на достоверность
- Если все норм, то отсылаю на серв сгенерированный ключ для симметричного шифрования, который я зашифровал открытым ключём сервера
- Сервер приняв, это подтверждает что соединение установлено
- Следом я шлю все сообщения зашифровав их перед этим своим ключём,сервер расшифровывает их им же
Так вот для начала спрошу правильная ли схема (если не то подскажите где и что не так)? Если да, то как мне сделать всю эту клиентскую логику , а именно:
Как обрабатывать сертификат, генерировать ключ, добавлять MAC к запросу и прочее. С помощь каких библиотек это делать?
P.s понимаю что вопрос очень общий, так что можно просто описать общие инструменты и краткие пояснения-рекомендации к ним, но если решитесь написать развернутый ответ буду очень благодарен.
P.p.s все что прочитал в интернете не внесло никакой ясности о том как это организовывать соединение от а до я.