问题标签 [certificate-pinning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
79 浏览

https - 我们应该为外部 https 服务处理证书/公钥固定吗?

我正在编写一个 Android 应用程序,它将向外部 HTTPS 静态资源发出一些 http 请求 - https://external_server/resources(我无法控制外部服务器)

我正在考虑为 external_server 服务器处理证书/公钥固定。

我脑海中突然冒出一个问题:如果 external_server 更改 SSL 证书/公钥怎么办?如果证书/公钥更改。我必须重新部署我的应用程序?

有任何想法吗?谢谢!

0 投票
1 回答
199 浏览

ssl - IBM MobileFirst 证书固定

我想在我的 iOS IBM MobileFirst 项目中使用证书固定。我可以将我的证书放在 Mobile First 开发工具包中吗?如果是的话,我该如何配置它?

0 投票
1 回答
2227 浏览

android - Android Webview 中的证书固定

我正在创建一个小型演示应用程序来在 android webview 中实现 ssl 证书固定。我已经生成了主机的证书。谁能建议我如何将证书固定在应用程序代码中。我已经搜索了很多链接,但我仍然卡住了。

0 投票
1 回答
410 浏览

ssl - IBM MobileFirst Platform 中的证书固定

WL.Client.pinTrustedCertificatePublicKey当我们调用MobileFirst 混合应用程序的方法时将执行哪些检查?

0 投票
1 回答
8279 浏览

android - 使用 OKHTTP3 认证固定进行改造

我正在使用带有 OKHTTP3 客户端的 Retrofit 1.9,并且我正在尝试添加认证固定。下面是相关代码:

不幸的是,它似乎不起作用。我没有

异常,甚至我的主机或 SHA 都不正确。谁能解释为什么?

0 投票
1 回答
797 浏览

ios - iOS 中的证书固定失败

我们正在使用 IBM MobileFirst Platform Foundation v7.1 开发应用程序。目前我们处于 UAT 阶段。该应用程序同时支持 Android 和 iOS。

我们为我们的应用程序实施了证书固定。MobileFirst Server 由网络团队维护,它为我提供了一个带有“cer”扩展名的公共证书 (com.uat.myapp.cer)。我将此公共证书包含在我的项目中的证书文件夹下,并在 main.js 文件中编写了证书固定代码。

Android 应用程序运行良好,并且正在与 MobileFirst Server 进行 SSL 握手。应用程序运行正常。

尽管 iOS 应用程序无法连接到 MobileFirst Server,但出现以下错误:

发生 SSL 错误,无法与服务器建立安全连接”。

我使用以下门户将 .cer 证书转换为 .der 证书(com.uat.myapp.der):https ://www.sslshopper.com/ssl-converter.html并将其放置在应用程序中,但我仍然结束了有同样的错误。

请查找以下错误日志以获取更多信息:

0 投票
1 回答
79 浏览

ibm-mobilefirst - 证书固定:应用程序从 android 和 ios 的应用程序数据中获取旧证书?

我们将 Mobilefirst 7.1 用于混合应用程序。我们已经在应用程序中实现了证书固定。证书已过期,我们将其替换为新证书。但是应用程序正在从应用程序缓存中获取旧证书,并且它阻止应用程序连接到服务器。在我们删除应用程序缓存和应用程序数据后,应用程序运行正常。请为此提出任何解决方案?

0 投票
0 回答
969 浏览

android - 在 Android 中存储用于证书固定的密钥库密码

我最近开始了解 Android 应用程序的安全性,并希望实现证书固定。通过谷歌搜索找到了一些有用的信息,但我偶然发现了存储包含服务器证书的密钥库密码。

由于我不能信任 Android 文件系统来保密我的密钥库密码,主要是因为任何 root 用户最终都可以将其挖掘出来,我开始怀疑是否真的需要安全地存储此密钥库密码,因为此密钥库将仅包含我的服务器的 SSL 证书,该证书旨在公开。

如果有人可以反编译我并看到密钥库密码,我想不出任何恶意攻击APK,因为攻击者将无法修改任何应用程序的代码,从而更改目标服务器IP,甚至修改密钥库用其他恶意证书切换我的证书,结合攻击者可能对目标所做的更改IP,将使应用程序针对任何恶意服务器(中间人攻击)工作。

我在 github 上找到了一个在 Android 中固定证书的非常好的示例,但遗憾的是作者并没有费心安全地存储密码,因为它是硬编码在MainActivity.

所以我总结的问题是:如果密钥库只有在预期的公共SSL服务器证书中,是否真的需要保护密钥库密码?

从我所做的研究中,我发现在这个问题null上,OP 解决了在 Android 代码上作为密码传递的可能性。也许我可以使用这个并将密钥库密码存储在我的服务器上,而不是将其打包在 Android 应用程序中。


同样在我的谷歌搜索过程中,我发现了非常有用的文章,对于将来研究这个问题的人来说可能会很有趣:


进度更新 - 作为密钥库密码传递null(正如我上面提到的选项之一),如果您在生成它时设置了一个,将导致密钥库绕过:无论如何都会发送请求,而自定义密钥库什么也不做。没有抛出异常或任何东西,它就像您没有设置任何自定义密钥库一样工作。

0 投票
0 回答
416 浏览

android - 证书固定和下载管理器

我正在尝试使用证书固定。我让我的应用程序使用DownloadManager. 我想知道我是否DownloadManager会使用支持我在 android manifest 和network_security_config.xml. 如果不是什么下载方法将使用证书固定

这是我的网络安全配置

这些摘要不是真实的。

0 投票
1 回答
453 浏览

ssl - SSL - 公钥固定混淆

当一些被破坏时如何SSL key pinning防止?MITM attacksCA

我的理解comprising CA是,私钥被泄露,攻击者很容易symmetric key习惯于加密数据。我对吗?

另一件事,如果public key在轮换证书并且key pinning我们匹配公钥时保持不变,我们怎么知道密钥(我们正在获取)来自原始证书?

我真的不明白这个概念。谁能一步一步详细说明?

我已经解决了这个问题,但无法真正得到答案。