问题标签 [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.
c# - 如何为 TcpClient 实现证书固定
我正在尝试在将暴露给公共互联网的服务器上设置 TCP 流(非 HTTP),但只有“选择的”客户端应该能够连接到。据我了解,这通常由证书固定处理,但我不熟悉如何完成的所有细节。
- 为服务器生成 SSL 证书。这很容易。
- 设置服务器。当客户端连接时,让它调用如下内容:
- 客户端证书从何而来?它是服务器 SSL 证书的副本吗?它是必须以某种方式从服务器的证书派生的单独证书吗?它是一个完全不同的证书吗?
VerifyClientCert
确保它是正确证书的方法是什么?只是对照预期值Verify()
检查一下Thumbprint
,还是还有更多需要发生的事情?- 每个客户都应该获得相同客户证书的副本吗?
https - 公钥固定中的备份公钥
我在许多谈论公钥固定的文章中看到了很多,他们说:我们应该使用公钥作为备份,以应对主公钥因任何原因发生变化的情况。这个备份公钥是什么,我怎样才能得到这个?
amazon-web-services - 在 Flutter、Dart 中固定 Amazon 根证书
我正在使用 AWS CA 为我在 Flutter 应用程序中使用的 ElasticBeanstalk 生成 SSL 证书。根据投注实践,我正在尝试将来自Amazon Trusted Services的 HTTP 客户端固定到根证书
我在使用 Flutter HTTP 客户端时遇到了 2 个问题:
- 每当我尝试加载证书时,它都会崩溃:
这是我使用的证书(五个之一,我将它们全部添加):
这就是我要做的解码PEM
:
并通过以下方式添加:
读取DER
文件时出现相同的异常:
- 来自连接的 PEM 文件不同
尽管如此,当我使用时badCertificateCallback
,证书中的文件与回购pem
中的这五个文件中的任何一个都不匹配那么如何从连接中获取根证书?
关于如何使用 AWS 根证书在 Flutter 中正确地进行证书固定有什么建议吗?
我发现了一些相关的线程,但它们并没有真正的帮助,即 https://github.com/flutter/flutter/issues/39190#issuecomment-693315205
certificate - 证书固定,最低 Windows 10 版本
您计划使用企业证书固定。您可以使用的最低 Windows 10 版本是多少?输入代表最低 Windows 10 版本的整数。
android - 原生Android应用程序中的SSL证书Ping不足
我已经在我工作的一个 android 应用程序中实现了证书锁定。以下是遵循的步骤。
- 将 .crt 文件隐蔽到 .bks 文件。
- 将 .bks 文件添加到项目结构中的资产文件夹中。
- 在 api 调用期间使用 trustmanagerfactory 加载上述文件。
安全审计员说这个实现很弱,很容易被 FRIDA 或任何其他绕过工具破坏。
有没有更好的方法来实现 SSL pining,使上述工具无法拦截网络调用。我当前实现的代码片段的图像
PS:使用 DefaultHTTPClient 进行 API 调用。
更新:在网络安全配置文件中添加了证书的公共哈希,但该工具能够绕过。
android - android 7 以下 Android 设备上 ktor kmm 中的证书固定
在使用 android 28 测试 network_security_config 文件后,我看到使用 ktor kmm(使用 OkHttp)时证书固定工作但是,在 android 7 以下的设备中,有没有办法设置证书固定。
我尝试了这些代码,但它似乎不起作用,如何使用 kmm 在 ios 中设置证书固定?