Первый вопрос: почему вы не можете получить сертификат SSL?Я могу думать о двух причинах:
- SSL-сертификаты слишком дороги
- Вы не хотите, чтобы сертификат был выдан третьей стороной
Если ваша проблема № 1, StartSSL предоставляет бесплатные сертификаты со сроком действия 1 год или взимает 50 долларов США за неограниченные сертификаты, действительные в течение 2 лет (включая подстановочные знаки).Они распознаются как Mozilla, так и хранилищем доверенных сертификатов Microsoft.
Если проблема №2, почему бы не выпустить самозаверяющий сертификат и жестко закодировать его в свое приложение?Это совсем не ставит под угрозу безопасность системы (приложение будет принимать только ваш конкретный сертификат), но устраняет необходимость «получать» SSL-сертификат откуда-то еще.
Если вы действительно можете это сделатьНе используйте SSL, посмотрите на системы «вызов-ответ», такие как Kerberos, или генераторы анонимных материалов ключей, таких как Диффи-Хелман (с асимметричным ключом для проверки подлинности сервера).Существует много методов для безопасной двухсторонней аутентификации по небезопасной линии.Ключевым моментом является то, что шаг проверки идентификатора должен быть вызов-ответ вместо схемы «пришлите мне ваш секрет».