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

swift - 如何在 Swift 中固定 certificate.pem 和 private_key.pem 文件以签署 http 请求

我有这两个文件(certificate.pemprivate_key.pem),它们由我使用的 API 提供。我需要使用这些文件在 Swift 项目中签署我的 http 请求。

我可以用 Postman 做到这一点。我在 Postman 的添加客户端证书选项卡中添加了 certificate.pem 作为 CRT 文件和 private_key.pem 作为 KEY 文件。当我在 Postman 上发送带有标头和参数的 PUT 请求时,我会从 Web 服务器收到成功消息。

但是当我在 Xcode 中使用 Swift3 和 Alamofire 尝试所有这些东西时,我总是收到错误消息。你能帮我如何将这个 PEM 文件固定到 http 请求吗?

0 投票
1 回答
851 浏览

ios - 使用 AlamoFire 在 Swift 中通过证书固定实现的 HTTPS 请求失败

我们正在尝试在我们的 iOS 应用程序中实现 ssl 以连接到运行在 Tomcat Webserver 中的 Rest webservices。在 tomcat 配置中将 clientAuth 设置为 true 时面临以下问题:

这是一个代码片段,展示了我们如何创建 AlamoFire 会话管理器:

我尝试将以下内容添加到 info.plist 的“应用程序传输安全设置”中:

然后我收到以下错误:

我使用以下命令生成了证书,并确保在 Xcode 中将此证书应用于我的目标:

我检查了几个 SO 帖子以了解问题所在,但其他帖子中给出的答案都没有奏效。我究竟做错了什么?

0 投票
0 回答
160 浏览

android - 为什么即使在更新 SSL 证书后也无需更改固定在 android 应用程序中的证书?

Certificate Pining在我的 android 应用程序中使用 SSL,现在当我更新 SSL 证书时,我想因为我只是Certificate Pining不在Public Key Pining我的 Android 应用程序中,所以我需要在我的 android 项目中更改证书并再次在 Play 商店中更新我的应用程序,但是问题是我的应用程序运行良好,无需在我的 Android 项目中更新证书文件。

谁能告诉我这是正常行为吗?

代码

0 投票
1 回答
14235 浏览

android - 证书固定 - 从证书 .crt 文件生成 SHA256 固定密钥

我有一个正在运行的 Android 应用程序,它使用 SHA256 Pin 实现证书固定。我使用https://www.ssllabs.com/ssltest工具来获取该引脚。

当前服务器证书即将到期,将向服务器申请新证书。在将新证书应用到服务器之前,我需要为新证书生成 SHA256 Pin,以便我可以将其添加到应用程序并在更新中引入它。

我有新的证书 .crt 文件。知道如何从文件中生成 SHA256 密钥吗?我无法访问服务器,只有 .crt 文件。

根据 OkHttp 的 CertificatePinner 文档:

SHA-256 或 SHA-1 哈希。每个 pin 都是证书主题公钥信息的哈希,base64 编码并以 sha256/ 或 sha1/ 为前缀。

0 投票
1 回答
536 浏览

c# - UWP 上的证书固定

我们有一个Xamarin.Forms当前为.NET Standard 2.0 编译的项目,用于共享项目AndroidiOSUWP

通信是通过WCF服务合同执行的。

为了固定证书,我们按照示例实现了以下代码。这在确保在其项目属性下使用必要的实现时Android和之后都能正常工作。iOSHttpClient

UWP然而事实证明是相当顽固的。我无法在通信的任何阶段触发回调。

我还研究了实现我们自己的X509CertificateValidator并将其提供给WCF配置,但这也无济于事。

问题

  1. 我是否需要/我是否能够像您一样指定一个HttpClient实现,并且可以解决这个问题?UWPAndroidiOS
  2. 我目前还缺少另一种方法吗?
0 投票
0 回答
213 浏览

ios - 在 AFNetworking 运行时更改 SSL 固定模式

当我们检查 SLL Pinning 时,我们遇到了 AFNetworking 库的问题。我们需要在运行时更改 SLL Pinning 模式,但由于某种原因更改不会影响。例如,我们不想检查第一个请求的 sll pinning,但想要检查其他请求。任何帮助将非常感激。

willCheckForSSLPinning这是我们如何使用变量动态设置 SSL 模式;

0 投票
2 回答
2637 浏览

android - SSL 证书固定在 Android 9 上不再工作

我正在使用以下已经工作了一段时间的证书固定代码(为简洁起见,错误处理被删除):

这或多或少是官方文档提供的代码。然后使用 SocketFactory 如下:

当我在 Android 8 设备上运行此代码时,一切正常。然而,在我的 Android 9 模拟器上,抛出了一个异常:

Android 9 中似乎发生了一些变化,但到目前为止,我还没有找到任何有关此行为的信息。我的想法如下:

  • 也许这种进行证书固定的方式已被弃用
  • 也许 Android 9 将不再使用 SHA1 证书验证域

还有什么想法吗?

0 投票
1 回答
3542 浏览

android - 带有证书固定应用程序的中间人代理

我正在尝试模拟对信号的 android 消息传递应用程序的 MITM 攻击。它是开源的,所以我将mitmproxy-ca-cert.pem用于固定的 android 应用程序和移动受信任的证书也放入了。我仍然没有收到任何对服务器的查询。客户端的错误是

NonSuccessfulResponseCodeException:错误响应:502 Bad Gateway

0 投票
2 回答
514 浏览

android - 证书固定和 SSL

我正在尝试学习制作安全的移动应用程序。我很想知道,如果我们从移动设备到服务器的网络调用使用 https ,我们是否需要证书固定?

0 投票
2 回答
1105 浏览

android - 避免禁用证书固定 Android

我正在开发一个使用证书固定的 Android 应用程序(以类似的方式

但是,我遇到了动态检测库,例如Frida,或者更糟糕的是Objection,它们可以绕过这种保护措施。

我知道必须在服务器端实现安全性,但是,我想继续窥探我的 API。此外,我还了解 Java 可执行文件易于反汇编和分析。

我怎样才能使这个过程对攻击者更加困难,即制作基本命令,例如objection's

android sslpinning disable

失败并强化我的应用程序?我已经看到,根据资产的命名,这个过程也会崩溃。

有任何想法吗?