Я использую плагин 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-пиннинга в моем приложении.