android - 可以与 Android 应用共享我的服务器证书吗?

标签 android security ssl asp.net-web-api ssl-certificate

我为我们的系统开发了一个 API,因此它可以被 Android 应用程序使用。 Android 应用程序由团队的另一名成员开发。 由于服务器使用 SSL,Android 应用程序无法在没有证书的情况下连接。

我应该提一下,这是一个自签名证书。

这种情况下的做法是什么?
向 Android 程序员提供证书,以便他将其嵌入到应用程序中?
(这是否意味着它会被破解和盗窃?)

我可以从哪里开始研究这个主题?

提前致谢,
害羞。

最佳答案

这是一个链接,供您检查是否回答了一个非常相似的问题。

How can I use different certificates on specific connections?

简单的答案是:将证书提供给另一个人没有错,这样他们就可以在打开安全连接时将其包含在“受信任”实体列表中。

任何时候客户端通过 SSL 或 TLS 连接到服务器时,客户端必须查看服务器的证书以决定它是否信任它(基于签名者)。 p>

就破解而言,任何证书都容易受到攻击,但您增加了证书的长度(例如 2048 位或 4096 位)以使破解花费的时间太长以至于尝试都不再有益。

不想做的是将您的私钥提供给 Android 开发人员。流程一般是:

  • 私钥唯一标识您的系统,绝不能共享
  • 私钥用于创建证书签名请求(CSR)
  • CSR 被发送到受信任的证书颁发机构 (CA)(在自签名的情况下,您自己担任此角色)
  • CA 根据您的私钥/CSR 发回受信任的签名证书

关于android - 可以与 Android 应用共享我的服务器证书吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551547/

相关文章:

数据中心之间的 Azure 安全性

ssl - 从编程的角度来看,实现 http 和 https 之间有什么真正的区别吗?

java - 无法使用 JSONObjectRequest 将数据发布到服务器

android - 使用 AndroidX 首选项的自定义首选项

sql-server - 集成安全 = True 和集成安全 = SSPI 之间有什么区别?

ssl - WebSocket 连接到 'wss://' 失败 : Unexpected response code: 500

node.js - 没有 SSL 的本地主机中的 Facebook OAuth2

android - 在蓝牙耳机上接听 VoIP 电话

android - 如何在 Android 中从我的网络浏览器 (Chrome) 打开任何应用程序? A Href 链接与我有什么关系?

security - 破坏基于 JWT 的服务器是否更具破坏性?