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

时间:2015-02-16 22:31:52

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

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

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

在这种情况下的做法是什么? 为Android程序员提供证书,以便将其嵌入到应用程序中? (这不意味着让它暴露在破裂和盗窃之中吗?)

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

提前致谢,
害羞。

1 个答案:

答案 0 :(得分:0)

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

How can I use different certificates on specific connections?

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

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

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

想要做的是给Android开发人员您的私钥。流程通常是:

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