问题标签 [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 投票
3 回答
17890 浏览

swift - Swift AlamoFire 中的 ssl 固定

我是这里的新手,但我有一个受到 MITM 攻击的应用程序。

经过一番研究,听起来我需要做 SSL Pining,即保留我的服务器公钥/证书的副本,以便可以确定响应是否来自它。

我不知道该怎么做,我在 Swift 中使用 AlamoFire 来处理网络。

0 投票
1 回答
3350 浏览

android - 在我的应用程序中固定公钥

作为安全措施的一部分,我将公钥固定在我的应用程序中,因为我已经从我的 PEM 证书中提取了公钥,看起来像

但是在 OWASP 的示例代码中,我们确实看到了比较 DER 编码的公钥的代码,

我知道 DER 是一种二进制格式,但不确定作者如何转换或提取上述格式?当我转换为 DER 时,它的原始字节与上述格式不同。有没有人有这方面的指针?

替代方法可以是,示例代码,

如果我转换“编码”变量 base64 PEM 公钥格式。如何在Android中做到这一点?

任何帮助,将不胜感激

0 投票
2 回答
1125 浏览

ssl - 有关 HTTP 公钥固定 (HPKP) 的问题

1. 问:HTTP Public-Key-Pinning (HPKP)
真的提高安全性吗? MITM(例如 NSA)可以拦截对服务器的第一个请求,并以“伪造的”证书进行响应,该证书由受感染的CA签名。 因此,HPKP 仅在与服务器的初始连接未被篡改并且您 100% 确定您最初连接到正确服务器的情况下才能提高安全性。 正确的?


2. 问题
Public-Key-Pins头需要至少包含两个不同证书的两个哈希值,一个用作“备份”证书。
这是否意味着我必须从两个不同的 CA 购买两个不同的证书?
那将是相当昂贵的。如果您购买一个,CA 不应该让您为同一个域签署两个证书吗?
安全不应该付出代价,每个人都应该能够构建安全的服务。

0 投票
1 回答
4631 浏览

javascript - "Pinning" nodes in a D3 force-directed graph

I have constructed a regular "grid" that places nodes at evenly-spaced points across the grid. Then, by randomizing the linkDistance, I'm able to "stir up" the grid so it's less regular.

I'd like to "pin" all the edge points such that they don't move - leaving only the inner points to be affected by the force layout.

My insight was that since this is a regular quad grid, any points with a weight less than 4 would be an "edge" point, and thus should be pinned.

I figure that weight is only calculated after the nodes and links have been added to the force layout, so I'm forEaching through the nodes array, after adding it to the force layout, and conditionally setting the fixed property based on weight.

Then, I'm reapplying the nodes property and starting the simulation.

No good. In the example I'm attaching ALL the points move.

0 投票
0 回答
2295 浏览

android - 这个 android SSL pinning 实现是否正确,为什么这个错误会出现在 logcat 中?

我在我的 logcat 中收到此错误。我已经在我的 android 应用程序中实现了 ssl pinning。我认为我做错了什么导致了这个错误。

以下是我的 ssl pinning android 代码。哪个有效,但会引发上述错误。

TrustSelectCertSSLFactory.java 代码

调用函数 getHttpClient 的代码

我的 SSL 固定实现是否正确,为什么这个错误会出现在 logcat 中?如果您需要更多详细信息,请在评论部分提及。

我在谷歌上搜索,但它给我的解决方案不能解决这个问题。还有什么我应该寻找的吗?

链接 1

链接 2

0 投票
0 回答
778 浏览

javascript - 如何使用 Javascript 固定浏览器选项卡?

我需要固定浏览器选项卡以避免用户关闭选项卡但仍以非侵入性和无插件方式接收通知。

有没有办法用 Javascript 做到这一点?

谷歌搜索没有给我任何结果。

0 投票
3 回答
855 浏览

android - ParseQuery 在从本地数据存储区查询时给出 0 个对象,即使在成功固定后也是如此

我正在使用 parse.com 的 Android SDK 并遇到了一个特殊的问题。

从片段的 onCreate 开始:

  1. 从服务器获取对象。
  2. 压住他。
  3. 从本地数据存储中获取对象。

这是来自 onCreate 的代码片段:

这是日志:

但这没有任何意义!我只是固定了一个对象,所以本地数据存储中怎么会有 0 个对象。代码是如此简单。我究竟做错了什么?会不会是 SDK 的错误?
任何见解都将不胜感激,我几天来一直在努力寻找问题。

Parse 设置对我来说看起来不错:

笔记:

  • 使用 ParseUser 对象尝试相同的逻辑时,它工作正常。甚至像我Message这样的其他课程也让我怀疑我的 ChatGroup 课程有问题。
  • ChatGroup在 parse.com 数据浏览器上的类中添加了两个字段:名称(字符串)和消息(关系),具有对名为 Admin 的角色的读写访问权限。
  • 当浏览到实际的解析数据库(使用 root 访问)时,我发现数据库表 ( ParseObjects) 确实包含我固定的行。但是以某种方式解析在查询它时显示 0 结果!
0 投票
1 回答
1080 浏览

node.js - Node.js 是否尊重 HPKP/支持证书固定?

Node.js 是否支持证书固定?更具体地说,如果服务器在第一次连接时传递了 HPKP 标头,Node.js 会遵守该设置吗?

请注意,这是用于客户端连接到我的服务器的库。我不在乎 Node 中的 HTTPS 服务器是否支持证书固定。

我也知道我可以手动检查证书,并且有一些第三方库会检查每个连接或猴子补丁请求库。我也不是在问那个功能。

我的计划是第一次检查证书,如果不匹配则拒绝。但是,如果在第一次调用之后更改了 TLS 证书,那对我没有任何好处。

0 投票
1 回答
360 浏览

swift - 如何在 Parse localDataStore 中正确固定?

我之前Parse.enableLocalDatastore()在我的应用程序委托中Parse.setApplicationId

然后我有var newPosts = PFObject(className: "Post")一个全局变量。

然后我想从我之前启用的 localDataStore 的“Post”表中获取 1,000 个最新对象,所以我这样做:

但我只得到空数据行。如果我注释掉getNewPosts.fromLocalDatastore()行结果很好。

我知道我错过了关键的固定步骤,但不确定 Parse 文档锄头以及在哪里实现它。你能帮忙吗?

0 投票
1 回答
3448 浏览

ruby - 作为捆绑安装的一部分安装的依赖项 gem 的固定或锁定版本

我正在尝试解决Windows 上ffi Gem中的错误。我需要运行一些从互联网bundle install上提取的项目。问题是尝试安装ffi的 1.9.9 版本,这会出错。bundle install

有什么方法可以告诉我bundle install安装ffi的 1.9.8 版吗?Gemfile也许是命令行参数,或者是or的补充Gemfile.lock

一种可能的复杂情况是,我正在处理的 Gemfile根本没有列出ffi,因此它必须由依赖项的依赖项之一拉入。