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

android - SHA-256 证书固定不起作用

我对证书固定有一个奇怪的问题。

如果我使用带有原始证书的 network-security-config xml,它可以工作。但是如果我在同一个文件中切换到 sha256 固定,它就不起作用 o_O

在此处输入图像描述

我检查了 10 次是否使用了正确的 sha256。甚至 okhttp 证书 pinner(我从中迁移到 network-security-config xml)也向我显示了相同的 sha256,所以它是 100% 正确的。

在此处输入图像描述

有人知道发生了什么吗?:)

0 投票
1 回答
48 浏览

c# - 如何为 TcpClient 实现证书固定

我正在尝试在将暴露给公共互联网的服务器上设置 TCP 流(非 HTTP),但只有“选择的”客户端应该能够连接到。据我了解,这通常由证书固定处理,但我不熟悉如何完成的所有细节。

  1. 为服务器生成 SSL 证书。这很容易。
  2. 设置服务器。当客户端连接时,让它调用如下内容:
  1. 客户端证书从何而来?它是服务器 SSL 证书的副本吗?它是必须以某种方式从服务器的证书派生的单独证书吗?它是一个完全不同的证书吗?
  2. VerifyClientCert确保它是正确证书的方法是什么?只是对照预期值Verify()检查一下Thumbprint,还是还有更多需要发生的事情?
  3. 每个客户都应该获得相同客户证书的副本吗?
0 投票
0 回答
30 浏览

ios - NSIncludesSubdomains 支持多个子域

我正在按照Apple 的文档介绍 NSPinnedDomains 作为我们应用程序中的主要证书固定解决方案。

我们有多个环境可以通信,并且可以有多个子域,例如:

NSIncludesSubdomains文档定义:

它不适用于子域 advanced.math.example.com 或 Ancient.history.example.com,因为这些子域有两个额外的路径组件。

我了解,我可以根据环境定义域

但如果后端会返回额外的两个子域

t 不会被固定。

我尝试将域设置为通配符 ( *.backend.com),但它不起作用。

有人设法找到针对多个子域的解决方案吗?

0 投票
0 回答
17 浏览

https - 公钥固定中的备份公钥

我在许多谈论公钥固定的文章中看到了很多,他们说:我们应该使用公钥作为备份,以应对主公钥因任何原因发生变化的情况。这个备份公钥是什么,我怎样才能得到这个?

0 投票
0 回答
39 浏览

amazon-web-services - 在 Flutter、Dart 中固定 Amazon 根证书

我正在使用 AWS CA 为我在 Flutter 应用程序中使用的 ElasticBeanstalk 生成 SSL 证书。根据投注实践,我正在尝试将来自Amazon Trusted Services的 HTTP 客户端固定到根证书

我在使用 Flutter HTTP 客户端时遇到了 2 个问题:

  1. 每当我尝试加载证书时,它都会崩溃:

这是我使用的证书(五个之一,我将它们全部添加):

这就是我要做的解码PEM

并通过以下方式添加:

读取DER文件时出现相同的异常:

  1. 来自连接的 PEM 文件不同

尽管如此,当我使用时badCertificateCallback,证书中的文件与回购pem中的这五个文件中的任何一个都不匹配那么如何从连接中获取根证书

关于如何使用 AWS 根证书在 Flutter 中正确地进行证书固定有什么建议吗?

我发现了一些相关的线程,但它们并没有真正的帮助,即 https://github.com/flutter/flutter/issues/39190#issuecomment-693315205

0 投票
0 回答
4 浏览

certificate - 证书固定,最低 Windows 10 版本

您计划使用企业证书固定。您可以使用的最低 Windows 10 版本是多少?输入代表最低 Windows 10 版本的整数。

0 投票
0 回答
21 浏览

android - 原生Android应用程序中的SSL证书Ping不足

我已经在我工作的一个 android 应用程序中实现了证书锁定。以下是遵循的步骤。

  1. 将 .crt 文件隐蔽到 .bks 文件。
  2. 将 .bks 文件添加到项目结构中的资产文件夹中。
  3. 在 api 调用期间使用 trustmanagerfactory 加载上述文件。

安全审计员说这个实现很弱,很容易被 FRIDA 或任何其他绕过工具破坏。

有没有更好的方法来实现 SSL pining,使上述工具无法拦截网络调用。我当前实现的代码片段的图像

PS:使用 DefaultHTTPClient 进行 API 调用。

更新:在网络安全配置文件中添加了证书的公共哈希,但该工具能够绕过。

0 投票
0 回答
20 浏览

android - android 7 以下 Android 设备上 ktor kmm 中的证书固定

在使用 android 28 测试 network_security_config 文件后,我看到使用 ktor kmm(使用 OkHttp)时证书固定工作但是,在 android 7 以下的设备中,有没有办法设置证书固定。

我尝试了这些代码,但它似乎不起作用,如何使用 kmm 在 ios 中设置证书固定?