可以与 Android 应用共享我的服务器证书吗?
Is it OK to share my server's certificate with an Android app?
我为我们的系统开发了一个 API,所以它可以被 Android 应用程序使用。
Android 应用程序由团队的另一名成员开发。
由于服务器使用 SSL,android 应用在没有证书的情况下无法连接。
我应该指出这是一个自签名证书。
这种情况下的做法是什么?
给 Android 程序员证书,以便他可以将证书嵌入到应用程序中?
(这不意味着它会被破解和盗窃吗?)
我可以从哪里开始研究这个主题?
提前致谢,
害羞。
这里有一个 link 供您检查回答一个非常相似的问题。
How can I use different certificates on specific connections?
简单的答案是:将证书提供给另一个人没有错,这样他们就可以在打开安全连接时将其包含在 "trusted" 实体列表中。
只要客户端通过 SSL 或 TLS 连接到服务器,客户端 必须 查看服务器的证书以确定它是否信任它(基于签名者)它)。
就破解而言,任何证书都容易受到攻击,但是您增加了证书的长度(例如 2048 位或 4096 位)以使破解时间过长以至于不再有益于甚至试试。
您 不想 想做的是给 Android 开发人员您的私钥。流量一般是:
- 私钥唯一标识您的系统,绝不能共享
- 私钥用于创建证书签名请求 (CSR)
- CSR 被发送到受信任的证书颁发机构 (CA)(在自签名的情况下,您自己担任此角色)
- CA 根据您的私有 key/CSR
发回受信任的签名证书
我为我们的系统开发了一个 API,所以它可以被 Android 应用程序使用。 Android 应用程序由团队的另一名成员开发。 由于服务器使用 SSL,android 应用在没有证书的情况下无法连接。
我应该指出这是一个自签名证书。
这种情况下的做法是什么?
给 Android 程序员证书,以便他可以将证书嵌入到应用程序中?
(这不意味着它会被破解和盗窃吗?)
我可以从哪里开始研究这个主题?
提前致谢,
害羞。
这里有一个 link 供您检查回答一个非常相似的问题。
How can I use different certificates on specific connections?
简单的答案是:将证书提供给另一个人没有错,这样他们就可以在打开安全连接时将其包含在 "trusted" 实体列表中。
只要客户端通过 SSL 或 TLS 连接到服务器,客户端 必须 查看服务器的证书以确定它是否信任它(基于签名者)它)。
就破解而言,任何证书都容易受到攻击,但是您增加了证书的长度(例如 2048 位或 4096 位)以使破解时间过长以至于不再有益于甚至试试。
您 不想 想做的是给 Android 开发人员您的私钥。流量一般是:
- 私钥唯一标识您的系统,绝不能共享
- 私钥用于创建证书签名请求 (CSR)
- CSR 被发送到受信任的证书颁发机构 (CA)(在自签名的情况下,您自己担任此角色)
- CA 根据您的私有 key/CSR 发回受信任的签名证书