问题标签 [bks]

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 投票
0 回答
27 浏览

android - Android BKS 通过逆向工程回火

我们将 aws 客户端用于连接层。aws-sdk 正在使用“BKS”密钥库并将其写入文件系统。

下面是在文件系统中管理 Keystore 的 sdk 类。

https://github.com/aws-amplify/aws-sdk-android/blob/master/aws-android-sdk-iot/src/main/java/com/amazonaws/mobileconnectors/iot/AWSIotKeystoreHelper.java

我们正在寻找更多的保护层,这将帮助我们保护我们在根设备上的密钥库。因此,我们正在寻找能够帮助我们保护位于 Keystore 中的私钥和客户端证书的解决方案。

0 投票
0 回答
362 浏览

java - SSLServerSocket Android 一步一步

要在 android 上创建 SSL 服务器套接字,您需要提供两个 KeyStore。

  • keyManager 密钥库。
  • 信任管理器密钥库。

创建密钥管理器。

要创建 keyManager,您需要PKCS12使用.crtand.key文件生成。

然后你必须JKS用这个命令创建文件。

提示:要创建此文件,您需要BouncyCastleProvider

现在您的文件密钥管理器已准备就绪。您可以将其放入您的资源中并与此代码一起使用。

爪哇:

科特林:

创建信任管理器。

您需要使用此命令创建一个 BKS 文件。

现在您的密钥信任已准备就绪。您可以将其放入您的资源中并与此代码一起使用。

爪哇:

科特林:

创建 SSLServerSocket。

然后您可以使用此代码创建 SSLServerSocket。

爪哇:

科特林:

您的服务器套接字现在已准备就绪,您可以开始收听了。由于这个目的,您需要在线程中运行套接字,并且通过使用此代码,您可以等待新客户端连接并与客户端握手。

爪哇:

科特林:

0 投票
0 回答
38 浏览

node.js - 在 Node JS 中读取 BKS(Bouncy Castle Keystore)文件

我有一个 API,我用来插入一些 .jks 证书以便能够提出我的请求。所以我的代码是这样的:

问题是现在我得到了一个trustedcas.bks 文件而不是.jks,如果我尝试使用相同的lib,我会收到一个解析错误

如何在节点 js 中读取 bks 文件或将其转换为 jks?

0 投票
0 回答
21 浏览

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

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

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

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

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

PS:使用 DefaultHTTPClient 进行 API 调用。

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