Как использовать .key и .pem файл для создания сокета SSL в Android?

Мой файл .key как: —– BEGIN RSA ЧАСТНЫЙ КЛЮЧ —– MIIEpAIBAAKCAQEA1j6eGXbHpqigZ1K // wnuyr5v / L2jFm7dzTtHJx8ZoMQ4CbsG

Мой .pem-файл вроде: —– BEGIN CERTIFICATE —– MIIE4zCCA8ugAwIBAgIDBOziMA0GCSqGSIb3DQEBBQUAMDwxCzAJBgNVBAYTALVT

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

Пожалуйста, дайте мне руководство или образец кода.

Спасибо.

Я предполагаю, что .key и .pem представляют ваш сертификат клиента, который вы должны использовать для проверки подлинности клиента HTTPS. К сожалению, Java / Android предпочитает другой формат, поэтому я рекомендую вам импортировать оба файла в файл BKS .

Создание файла BKS и импорт существующего .key + .pem очень просты, используя графический интерфейс Portecle . После запуска Portecle выберите File -> New Keystore -> BKS . После этого вы можете запустить Tools -> Import Key Pair и выбрать файл .pem. После этого Portecle попросит вас выбрать файл .key.

Наконец сохраните хранилище ключей, защищенное паролем по вашему выбору.

Созданный файл BKS теперь можно использовать в вашем приложении для Android. См. Например код, размещенный в этом вопросе: Использование сертификатов клиент / сервер для двухсторонней аутентификации SSL-сокета на Android

Обновление 2015-06-30 : Описание выше работает только для Portecle 1.6 и ранее. С версиями 1.7 и 1.8 вы не можете создавать андроид-совместимые хранилища ключей. В Portecle 1.9 вместо этого используется формат BKS-V1 .

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

Вот руководство по генерации сертификатов X.509 .