gpt4 book ai didi

android - 为 android volley 和 nodejs 创建证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:07:55 25 4
gpt4 key购买 nike

我正在开发一个可以连接多 Node 服务器的安卓应用程序。此连接需要安全,所以我需要证书。但我不能支付证书。在我的研究中,我将为每台服务器创建证书并使用我自己的根证书对其进行签名(我也需要它)。然后我会将根证书固定到我的 android 应用程序中。所以我可以从一个 android 应用程序连接多个服务器。但我不知道如何创建此证书以及如何将其固定到 android 应用程序中。

最佳答案

CA 可以生成绑定(bind)到 IP 的证书,但这并不常见。我同意在这种情况下使用自行生成的证书更为合适。你需要

1) 创建CA证书和SSL证书

摘自here你将需要 openssl

创建CA证书

openssl genrsa -out rootCA.key 2048
openssl genrsa -des3 -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem

这将启动一个交互式脚本,它会要求您提供各种信息。你会得到 rootCA.pem

为每个设备创建一个证书

 openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256

在第二步中,您将被问到各种问题(国家、州/省等),在“常用名称”中插入您设备的 IP 或名称。匹配真实姓名很重要,因为浏览器或安卓设备会验证它

2) 配置您的 nodejs 服务器以使用 https我对 node.js 的了解不足,无法为您提供很好的解释或链接,因此请使用官方文档。也许有些读者可以编辑它并提供一个链接

3) 将公钥和证书链添加到android应用程序的信任库中。

提取 here来自

你需要

1) 获取您的 CA 证书的公共(public)部分

2) 创建一个 BKS keystore 并导入证书(只需要根)

3) 在您的应用中使用 keystore 。创建一个使用您的 keystore 配置 de SSL 连接的自定义 Apache HTTP 客户端

详细信息在链接中,即在社区 wiki 中。

对于 Android Volley 。 Using Android Volley With Self-Signed SSL Certificate

关于android - 为 android volley 和 nodejs 创建证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com