问题标签 [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 回答
1062 浏览

swift - 快速 afnetworking ssl 固定

变量管理器:AFHTTPSessionManager

我一直在努力让它工作一段时间。Swift 文档很少,但我在阅读 obj-c 方面做得更好。证书是 PEM 格式,我已经尝试过并转换为 .der 格式。Der 格式在 init() 中爆炸,.PEM 格式在评估服务器信任中爆炸。我在 AFNetworking 2.5.1 中尝试过并升级到 3.0.4 - 同样的问题。对于以下内容,我已经尝试了 true 和 false 的所有组合。

securityPolicy.validatesDomainName = false securityPolicy.allowInvalidCertificates = false

任何见解将不胜感激。谢谢

0 投票
0 回答
62 浏览

arrays - 固定枚举的二维数组

enum我有一个从托管层传递到非托管层的特定问题- 基本上是固定enum数组。

我的用例是我有一个引用类型(T)的一维数组,其中包含一个缓冲区(enum由字节支持的二维数组)。

缓冲区(由字节支持的二维数组enum)在托管堆上分配,我想将该缓冲区传递给非托管层 - 用一些值填充它。同时我想确保垃圾收集器(GC)在非托管方法向缓冲区填充数据时不会移动缓冲区。为了做到这一点,我必须固定缓冲区。我用于托管代码的语言C++/CLI,提供了两种固定缓冲区的方式

  • cli::pin_ptr
  • GCHandle

出于某种原因,我无法使用固定缓冲区GCHandle- 我得到ArgumentException- 可能是因为enum是非 blittable 类型。

我可以使用固定缓冲区cli::pin_ptr,但是问题cli::pin_ptr是因为讨论中的引用类型数组(其中包含缓冲区 - 由字节支持的枚举的二维数组)可以是可变长度的,我将需要多个pin_ptr(数组pin_ptr)来每个引用类型实例中的引脚缓冲区。而且我不能拥有cli::pin_ptr.

这阻碍了我在 .NET 应用程序中实现特定功能 - 因为我无法enum正确固定 2D 数组。

0 投票
1 回答
4264 浏览

security - WKWebView 中的公钥固定

根据 caniuse.com iOS Safari 9.2 和 9.3不支持 TLS 公钥与标头固定Public-Key-Pins

如何使用 a 进行公钥固定WKWebView

0 投票
1 回答
170 浏览

ssl - 客户端证书验证与证书固定相结合

使用客户端证书进行身份验证后是否需要执行证书锁定?谁可以给我解释一下这个?

由于在“客户端证书请求和客户端身份验证”部分之后有一个返回语句,因此永远不会执行证书固定的逻辑,所以我问自己在使用客户端证书执行身份验证后这部分是否已过时。

0 投票
0 回答
210 浏览

ssl - Windows 8.1 Phone 应用程序上的“独家信任”证书固定

所以我正在尝试开发一个安全的 Windows 8.1 Phone 应用程序。请注意,这是在 Windows Phone 上使用,而不是在普通 Windows 上使用。这里主要关注的是中间人(MITM)攻击。

该应用程序是使用 Microsoft App Studio ( http://appstudio.windows.com/ ) 生成的,并使用 Visual Studio 2015 进行了编辑。

我可以使用此 MS 博客文章中的说明将证书固定到普通 Windows 部分:https ://blogs.msdn.microsoft.com/wsdevsol/2014/06/05/include-self-signed-certificates-with-your- windows-runtime-based-windows-phone-8-1-apps/但问题是用户可以将证书上传到设备,这将覆盖来自该应用程序的检查。

这种方法的问题在于Package.appxmanifestWindows Phone 应用程序的界面不允许您更新证书,更不用说将其标记为“独占”了。

我的第二次尝试是根据这篇文章对服务器证书的指纹进行硬编码:https ://blogs.windows.com/buildingapps/2015/10/13/create-more-secure-apps-with-less-effort-10 -by-10/(注意“独占信任”复选框)

尽管该帖子适用于 Windows 10,但代码有效(在添加了正确的导入之后)。然而,同样,当一个人更新自己的证书时,它会绕过指纹检查。

因为我无法使用 Visual Studio 界面将证书上传到电话应用程序部分,因此无法选中“独占信任”框,我将如何确保对网站的任何请求仅使用证书我上传还是我硬编码的指纹?

这是指纹识别码:

0 投票
2 回答
3293 浏览

ios - 如何在 iOS 下获取 TrustKit 框架的 SSL pinning 的备份 pin?

我目前正在我的 iOS 应用程序中实现TrustKit 框架,以便为 SSL 连接启用 SPKI 固定。我偶然发现了正确的 TrustKit 配置所必需的“备份引脚”。不幸的是,API 文档只说明需要一个备用引脚,但并没有告诉我它应该是什么。信任链如下所示:

因此,我将 myServer.com-certificate 的 SPKI 散列固定为主要引脚。我的备用别针是什么?

不幸的是,我没有找到很多关于这个主题的信息。我找到的为数不多的资源之一是PayPal 的 Hubert Le Van Gong 撰写的这篇文章。他谈到备用别针:

“无论 pin 值的数量是多少,备用 pin 是绝对必须具备的。请注意,备用 pin 的存在是 HPKP 中的一项要求(即对于网络案例),但它在移动应用程序空间中同样重要。在在这两种情况下,对应于备份 pin 的密钥对都应该保持离线,直到主 pin/key 出现问题。”

我特别不明白“应该保持离线”的部分。

关于要固定什么的问题:

根 CA 证书可能是最好的。因此,当固定到多个值(例如 2)时,我认为中间 CA – 根 CA 是一种合理的方法。也就是说,只要该证书是根 CA,只固定到单个证书也是完全可以的。

由此我了解到我的备份引脚可能是根 CA(准确地说是 SPKI 哈希)。但是我想知道中间甚至根 CA 如何成为好的引脚。据我了解,这将验证链中具有此中间/根 CA 的每个证书的固定。

我在这里做错了什么?

0 投票
2 回答
28 浏览

security - 带有证书固定的移动应用程序 - 具有受信任 CA 与我自己的 CA 的 DMZ 盒上的 SSL 证书

我正在开发一个带有证书固定的移动应用程序。我将在 DMZ 中有一个盒子来代理我的请求。该服务器是否应该拥有来自受信任 CA 的证书,或者我可以使用我从自己的 CA 生成的证书?

从移动客户端使用受信任的 CA 有什么好处?

此外,之后我将访问几个不同的服务器,这些服务器将使用我自己的 CA 生成的证书。我也应该固定这些吗?我假设是的,即使在网络中,固定两者也是最好的。但是有必要吗?

谢谢!

0 投票
1 回答
153 浏览

http - HPKP 子域固定是相对的吗?

我有一个 HPKP 固定域,sub.domain.tld有效期为 2 个月,并且includeSubdomains存在标志。

我现在注意到sub2.domain.tld,使用未固定的不同证书仍然有效。

这是否意味着includeSubdomains对于发送标头的域,并且不涵盖 的所有子域domain.tld

即,我假设subsub.sub.domain.tld使用具有上述配置的不同证书无法通过 HPKP 验证,但sub2.domain.tld可以正常工作。

这个对吗?

0 投票
1 回答
138 浏览

security - 使用代理拦截 SSL 流量的 Web 保护产品如何与实施 SSL 固定的站点一起工作?

使用代理拦截 SSL 流量的 Web 保护产品如何与实施 SSL 固定的站点一起工作?

拦截 SSL 流量的 Web 保护产品示例 - Blue Coat Proxy SG Sophos Gateway McAfee Web Gateway

0 投票
3 回答
2120 浏览

alamofire - 在 Alamofire 中使用指纹进行 SSL 固定

有没有人看到用指纹而不是公钥来固定 Alamofire 的方法?

抱歉,如果这已被回答,我还没有在任何地方看到它。

谢谢