问题标签 [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.
android - 为 android volley 和 nodejs 创建证书
我正在开发一个可以与多个节点服务器连接的 android 应用程序。此连接需要安全,因此我需要证书。但我不能支付证书。作为我的研究,我将为每台服务器创建证书并使用我自己的根证书对其进行签名(我也需要它)。然后我将根证书固定到我的 android 应用程序中。所以我可以从一个安卓应用程序连接多个服务器。但我不知道如何创建此证书以及如何将其固定到 android 应用程序中。
android - Square okHTTP 证书固定 - sslSocketFactory 错误
我正在尝试导入我自己的 BKS 文件,其中包含我的自签名证书,但我遇到了 okHTTP 问题。我想用 bks 文件来做这个,我也通过 sha512/.
我从几个教程中得到了这段代码,我知道问题出在哪里,但无法解决。
现在我在以下行中收到以下错误:
错误:
okHTTPClient 中的 SSLSocketFactory 不能应用于 javax.net.SSLSocketFactory。
如果您在导入中查看,您会看到来自 javax 的以下 3 个。
所以我有一个错配。好像我需要一个 okHTTP - sslSocketFactory 和我的 bks 文件。但我找不到对此的有效解释。我也在使用 okHTTP 3.3.1
我在这里找到了解释/解决方案:如何使用 Square OKHTTP 固定证书?. 正如先前所说。我想使用 bks 文件,而不是 sha512/ 方法。
因此我需要知道,如何将 javax.ssl.Factory 解析为 okHTTP-sslFactory 或如何使用生成的 bks 文件创建 okHTTPsslFactory。
此外,方法 setSSLSocketFactory 在 okHTTP 3.1.1 中不再可用。
我非常感谢您的帮助,并感谢您抽出宝贵的时间来解决这个问题!
windows - 以编程方式平移 Windows 10 UWP 地图控件
Windows 10 UWP 地图控件中是否有任何事件可用于以编程方式进行平移。
android - 证书或公钥固定会减慢 Android 中的 Web 服务响应速度
当我在 Android 中的 Web 服务上执行固定(证书/公钥)时。我看到应用程序接收来自 Web 服务的响应所花费的时间几乎是不固定所需时间的两倍。
这是因为,固定机制首先建立一个连接以检索证书并验证它们,然后再进行第二个连接(不确定)以从服务器检索响应。
注意 - 在 Android 中,建议在最终用户的设备上使用按需连接而不是连续连接以节省电力和带宽(除非需要)
我想知道是否有办法优化这种顺序连接调用?
提前致谢。
certificate - IBM MobileFirst 证书固定最佳实践
我们正在开发一个 IBM MobileFirst 7.1 Hybrid 移动应用程序,并计划使用证书固定功能。
我们可以在 IBM 网站上找到有关在 IBM MobileFirst 网站上固定 SSL 证书的信息:这是 IBM 知识中心的一篇文章,这是一个教程及其示例项目/代码
所有这些资源都很棒,但我有一些问题:
- 当我的应用程序是混合应用程序时,为 Android 和 iOS 使用本机证书固定实现有什么好处吗?
- 如果我使用混合环境代码,SSL证书是否会包含在 wlapp 中,然后可以使用直接更新进行更新?
- 证书固定的混合实现是否适用于 WindowsPhone 8(Silverlight 环境的混合应用程序)?
- 在教程视频中,我看到当 SSL pinning 开启时,我们调用服务器外部的 URL(例如 google)会失败。这是否意味着如果我启用证书固定,谷歌地图将无法加载?
- SSL证书被吊销时会发生什么?
- SSL 证书过期后会发生什么?
- 在更新我们的服务器 SSL 证书时,保持证书固定和应用程序正常运行的最佳 SSL 更新策略是什么?
请指教
ios - 使用 NSURLSession 固定公钥
我想用 NSURLSession 实现公钥固定。从各种帖子中,我得到了证书固定,但没有任何关于公钥固定的可靠参考。我不想使用证书固定来避免将来更新服务器端证书和我的应用程序版本。
android - Android 和 iOS 中的证书固定
当我们在我们的应用程序中导入 SSL 证书时,对于证书固定,我们必须每年在证书更新时更新 apk/ipa。
我们能克服这个吗!
缺点 灵活性较低 - 当您进行 SSL 证书固定时,更改 SSL 证书并不容易。对于每个 SSL 证书更改,您都必须更新应用程序,将其推送到 Google Play 并希望用户安装它。
请指导克服这一点。
security - 移动设备中的证书更新问题
我们需要在我们的移动应用程序中实现证书固定。我们使用 Appcelerator Titanium 作为框架来构建它。有一个支持证书固定的 AFNetworking 模块。
问题是,如果我们将证书存储在应用程序中并在上传到 App Store/Play Store 的同时捆绑它;如果证书过期会怎样?我们是否必须使用捆绑的更新证书推送另一个更新?或者是否有一种机制可以在移动应用程序中更新证书?
git - https服务器上的git客户端和浏览器分离
我正在尝试为git clone
. 为了做到这一点,我使用openssl s_client
并从服务器 hello 中获取了证书:
但是下面的命令在服务器证书检查上实际上是失败的:
做了一些调查,我在网络转储中发现openssl s_client
和的证书不同git clone
。我可以在转储中看到的唯一区别(在客户端打招呼中)是:SNI 用于流量anongit.gentoo.org
,ALPN 用于http/1.1
流量git
。区分git客户端和浏览器似乎太少了。
所以,问题是:服务器如何准确地检测到git
客户端以便使用不同的证书进行回复?
android - Android Volley - SSL Pinning 实施中的意外行为
在 SO 上提出 SSL 固定问题似乎是在向空洞大喊大叫,但这里……
我需要在 Android 上实现 SSL 固定,并且我正在处理一些要求/约束:
- 它应该验证整个证书链,而不仅仅是叶子。
- 它需要与 Volley 库一起使用
根据 Google 的教程,我想出了以下用于创建 SSLSocketFactory 的实现:
当我创建一个新HttpStack
实例时使用这个 SSLSocket 工厂。请注意,我按照它们在链中的位置顺序列出了证书。
为了验证此代码,我利用 Google 的nogotofail
Android 演示应用程序修改了NoSslCertificateChainOfTrustCheckTest
. 看起来固定工作正常,但我实际上只需要包含leaf_cert
在KeyStore
. 使用openssl
,我验证服务器只发回叶证书。在这一点上,事情变得非常奇怪:
- 我的团队构建的姊妹 iOS 应用程序使用 AFNetworking 来完成证书固定繁重的工作,它实际上强制所有四个证书都存在。换句话说,尽管只取回了叶子证书,但它正在验证整个链。
- 当我实际尝试在项目中使用代码时(再次使用 Volley),我发现我不仅不需要整个证书链,我只需要包含
leaf_cert
ORiterm_cert1
即可。
总而言之,我需要回答以下问题:
- 我的钉扎实现真的能完成它的工作吗?
- 验证整个链条需要什么魔法?
- 为什么我可以用中间证书代替叶子证书,为什么我只能使用 Volley 而不是 in
nogotofail
?