Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以共享我的服务器';有Android应用程序的证书吗?_Android_Security_Ssl_Asp.net Web Api_Ssl Certificate - Fatal编程技术网

是否可以共享我的服务器';有Android应用程序的证书吗?

是否可以共享我的服务器';有Android应用程序的证书吗?,android,security,ssl,asp.net-web-api,ssl-certificate,Android,Security,Ssl,Asp.net Web Api,Ssl Certificate,我为我们的系统开发了一个API,所以它可以被Android应用程序使用。 Android应用程序由团队的另一名成员开发。 由于服务器使用SSL,android应用程序在没有证书的情况下无法连接 我应该提到,这是一个自签名证书 这种情况下的做法是什么? 向Android程序员提供证书,以便他可以将其嵌入应用程序? (这难道不意味着它会被破解和盗窃吗? 我从哪里开始研究这个课题 提前感谢, 害羞。这里有一个链接供您查看,回答一个非常类似的问题 简单的答案是:将证书提供给另一个人没有什么错,这样他们

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

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

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

我从哪里开始研究这个课题

提前感谢,

害羞。

这里有一个链接供您查看,回答一个非常类似的问题

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

每当客户机通过SSL或TLS连接到服务器时,客户机都必须查看服务器的证书,以确定其是否信任该证书(基于签名者)

就破解而言,任何证书都容易受到攻击,但您可以增加证书的长度(比如2048位或4096位),以使破解耗时过长,甚至不再有益于尝试

你不想做的是给Android开发者你的私钥。流程通常为:

  • 私钥唯一标识您的系统,不应共享
  • 私钥用于创建证书签名请求(CSR)
  • CSR被发送到受信任的证书颁发机构(CA)(如果是自签名的,您自己承担此角色)
  • CA基于您的私钥/CSR发回一个受信任的签名证书

解释得很好。非常感谢。但是我错过了一件事。。。我应该导出证书并将文件交给Android开发者吗?证书文件同时包含私钥和公钥,对吗?这不是打破了你所说的“你不想做的就是给Android开发者你的私钥”吗?当从CA收到证书时,证书本身与私钥是分开的。或者当你自己“签署”CSR时,你会得到一个文件,通常以--BEGIN certificate--开头,然后有一堆东西,之后是------结束证书------。这一部分(而且只有这一部分)是你想要给android开发者的。有些web服务器要求您将私钥和证书连接到同一个文件(通常是.pem文件)中,但纯证书本身只是一个证书。其中没有列出私钥文本。作为练习(如果您使用google chrome),您可以单击任何https地址旁边的锁并查看证书的详细信息。您甚至可以将证书复制到系统上的文件中,以便随时查看它。这只是强调了一个事实,即任何人都可以查看/拥有证书,而不会泄露您的私钥。非常感谢。