Как безопасно настроить ssl HostnameVerifier в Android? - PullRequest
0 голосов
/ 29 января 2019

У меня есть особый случай использования, когда мне нужен промежуточный хост между клиентом и удаленным сервером.Я уже настроил промежуточный хост @ 10.1.10.15 для пересылки трафика на / с моего удаленного сервера.

Так что в моем приложении для Android я буду отправлять HTTP-запрос на основе URL, например:

https://10.1.10.15/...

Промежуточный хост представит сертификат, полученный от фактического удаленного сервера, и затем HostnameVerifier войдет в игру и отклонит запрос, потому что 10.1.10.15 не соответствует CN на сертификате от удаленного сервера.

Я, конечно, могу настроить ssl HostnameVerifier так, чтобы он смотрел, является ли имя хоста IP-адресом @ 10.1.10.15:

protected static final HostnameVerifier ALWAYS_VERIFY = new HostnameVerifier() {
    @Override
    public boolean verify(String hostname, SSLSession sslSession) {
        return hostname.toLowerCase().equals(@"10.1.10.15");
    }
};

, но я чувствую, что это может вызвать некоторые проблемы с безопасностью.

Мой вопрос: как я могу сделать это безопасно?

...