Проблема несоответствия хоста Ionic 3 cordova-plugin-advanced-http

Я использую плагин Cordova для закрепления SSL в моем проекте на основе Ionic 3 https://www.npmjs.com/package/cordova-plugin-advanced-http

В соответствии с его документацией мы должны передать Hostname в функцию setHeader(), чтобы связать его с конкретным хостом.

введите здесь описание изображения

Я сделал именно это и добавил Hostname в функцию setHeader() и проверил во время выполнения, чтобы вызвать другой URL-адрес из поля setHeader(), и это не позволяет ему пройти, следовательно, подтверждается, что закрепление SSL работает правильно с соответствием Hostname

intitializeSSLPinning() {
    this.http.setRequestTimeout(60);
    this.http.setDataSerializer('json');
    this.http.setSSLCertMode('pinned');
    this.http.setHeader('https://www.example.com:443', 'Content-Type', 'application/json');
 }

Но в отчете о безопасности приложения Veracode поднимается проблема среднего уровня.

Неправильная проверка сертификата с несоответствием хоста

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

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


person Rishi    schedule 01.08.2019    source источник


Ответы (1)


Я на самом деле не понимаю, чего вы пытаетесь достичь. Метод setHeader() предназначен для установки глобального заголовка. Это не имеет ничего общего с функцией закрепления SSL. Если вы действительно хотели установить значение заголовка, вам нужно указать имя хоста, а не URL-адрес. В вашем случае это должно быть this.http.setHeader('www.example.com', 'Content-Type', 'application/json');

person silkimen    schedule 06.08.2019