cordova - Ionic 3 cordova-plugin-advanced-http 主机不匹配问题

标签 cordova ssl ionic3 veracode

我在基于 Ionic 3 的项目中使用 cordova 插件进行 SSL 固定 cordova-plugin-advanced-http

根据其文档,我们必须通过 HostnamesetHeader()功能,以便将其与特定主机联系起来。

enter image description here

我已经完全做到了并添加了 HostnamesetHeader()函数并在运行时检查以从 setHeader() 调用不同的 URL字段并且它不允许它通过,因此确认 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 应用程序安全报告中提出了一个中等级别的问题

Improper Validation of Certificate with Host Mismatch

The failure to validate host-specific certificate data may mean that, while the certificate read was valid, it was not for the site originally requested.

有人可以帮我确定是生成虚假错误报告的工具,还是我遗漏了任何东西 w.r.t 在我的应用程序中正确实现 SSL Pinning。

最佳答案

我实际上不明白您要实现的目标。 setHeader() 方法用于设置全局 header 。它与 SSL 固定功能无关。 如果您真的想设置 header 值,则需要提供主机名,而不是 URL。在您的情况下,它应该是 this.http.setHeader('www.example.com', 'Content-Type', 'application/json');

关于cordova - Ionic 3 cordova-plugin-advanced-http 主机不匹配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57306042/

相关文章:

android - 应该使用哪种类型的通知是本地通知还是推送通知?

android - 带 phonegap 的 AlarmManager

wcf - SSL 错误 RemoteCertificateNameMismatch

angular - ionic 深层链接

android - 外部链接无法打开 phonegap cordova android

node.js - 使用SSL的Socket.io导致404()错误

docker - 使用 SSL 的 Nginx 子域重定向不起作用

angular - 如何使用 Angular 2返回 promise 的值(value)

android - ionic 3 native : File : {code: 5, 消息: "ENCODING_ERR"}

android - 无法获取平台 android : Error: EACCES