Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
Certificate 信任应用程序签名_Certificate_Keytool_Trust - Fatal编程技术网

Certificate 信任应用程序签名

Certificate 信任应用程序签名,certificate,keytool,trust,Certificate,Keytool,Trust,我收集到大多数开发人员(可能大公司除外)使用自签名证书来签署他们的apk。由于这是安装应用程序所必需的,因此任何人都可以使用签署应用程序的功能。使用JavaSDK中的keytool和jarsigner非常简单。但是,这些自签名证书和相关私钥不能保证任何程度的安全性,除非您能够以某种方式将该证书与您真正信任的人匹配。无法撤销这些自签名证书(无CRL),也没有“颁发者”(因为证书几乎总是自签名的)以某种方式“担保”签署代码的证书/密钥持有人的身份 那么Andriod平台是否有或计划有任何能力阻止安装

我收集到大多数开发人员(可能大公司除外)使用自签名证书来签署他们的apk。由于这是安装应用程序所必需的,因此任何人都可以使用签署应用程序的功能。使用JavaSDK中的keytool和jarsigner非常简单。但是,这些自签名证书和相关私钥不能保证任何程度的安全性,除非您能够以某种方式将该证书与您真正信任的人匹配。无法撤销这些自签名证书(无CRL),也没有“颁发者”(因为证书几乎总是自签名的)以某种方式“担保”签署代码的证书/密钥持有人的身份

那么Andriod平台是否有或计划有任何能力阻止安装带有特定签名的应用程序呢?或者启用仅允许安装由受信任CA(证书颁发机构/颁发者)列表颁发的证书/密钥签名的应用程序的设置?
但是,也有一些可用的安全性:在“设置/安全性”中,您可以阻止安装任何东西(即使是已签名并手动复制到您的SIM卡),除非它来自默认设置“播放商店”。此外,您还可以安装用户证书,并且只允许安装由该证书签名的应用程序(即使是从Play Store?)。

我认为这些证书的目的不是为了确保CA签名的普通证书的身份。在我看来,证书的目的只是为了有一个额外的安全因素,以确保第一次发布应用程序的人就是发布更新的人

没有这一点,黑客你的谷歌帐户将能够发布恶意更新到你的整个用户群


所以我想说它基本上是一个双因素的出版认证

我同意。如果你信任应用程序第一个版本的作者,那就好了。想想“长时间黑客”策略。用你的应用建立某种信任模型。。。。人们下载它们。。。很棒的应用程序。然后在随后的更新中,比如说在一年或两年内。。。砰,这家伙不是个好人。所以,当你第一次在平台上安装一个签名的应用程序和一些东西来帮助保护用户或应用程序时,提出问题是很重要的。好的,我明白你的问题,但是如何才能阻止这种情况?这真的足以确保拥有CA的人的身份吗?当然,你们可以在一个人第一次“黑客”攻击后决定阻止他。我认为没有这样做的原因有两个。1.对出版商进行评估需要大量的工作,这需要花费很多钱。2.评估结果将使发布变得更加困难和昂贵,从而降低android对开发者的吸引力。但是,以某种方式评估发布者是一个好主意。从受信任的根CA获取代码签名证书并不是一件小事,而且成本也不高。未由CA颁发的证书签名的Win32代码会发出警告,要求您自行承担风险。我意识到Google via Play Store有一些合理的安全基础设施,包括对发布在那里的应用程序进行防病毒检测的尽职调查,以及拒绝由证书签名的应用程序的流程,这会给下载者带来问题,但这比PKI中的CRL infrastructe弱。我同意便利性是Andriod应用部署的驱动因素,我相信谷歌不想用太多的警告对话框吓跑用户。