自签名代码证书的典型用例是什么?

我是一家年轻公司的开发人员,也从事个人项目的开发。这些主要是C#和python应用程序。我们公司从CA购买了代码签名证书,以避免出现“未知发行商”警告和一些防病毒保护问题,但我想避免为个人项目花费这笔费用。

据我了解,实现此目标的唯一方法是使用来自可信CA的证书,但是为什么要使用自签名证书?我知道它们存在,但是由于大多数用户不会编辑他们的信任库,所以他们实际完成什么工作?

注意:我要特别询问的是代码签名证书,而不是SSL

jing35711 回答:自签名代码证书的典型用例是什么?

证书建立信任。信任任何人都可以创建的证书是不可能的,因为其他任何人也可以创建一个证书,例如,自签名证书允许中级攻击。

,

您的问题混合了多个问题,我认为这就是造成麻烦的原因。商业CA仅在一种情况下才有用:在这种情况下,您需要每个人都信任的第三方。在您不希望这样做的情况下,它们是无用的,实际上是一种阻碍。

因此,商业代码签名CA对于签名公共网站很有用。商业CA对签名私有API证书的用处不大(尽管在某些平台上,尤其是iOS,仍然有理由使用它)。

类似地,如果您拥有一个信任该CA进行代码签名的操作系统,则商业CA将非常有用。但是,如果您使用的是最新版本的macOS,那么您确实需要一个由Apple专门签名的软件。

但是,如果您自己控制平台(例如在嵌入式系统或插件引擎中),则完全可以对二进制文件进行自签名。 “自签名”仅表示“使用根证书”。商业根源没有什么神奇的。他们是“自签名的”。只是别人信任他们。如果您只需要自己而不需要别人的信任,那么使用自己的根目录比商业上的目录要好。

(我在这里有一些细节要讲到核心。特别是,“自签名”通常是真正的二级证书,这些证书植根于某些自签名证书。这对于商业广告来说是正常的证书和良好实践,即使您创建自己的根目录也是如此。但是基本直觉是相同的。)

如果问题是“为什么我要使用自签名证书来在诸如企业这样的受控环境之外对Windows二进制文件进行签名”,那么答案可能是您不应该这样做,为什么您认为应该这样做?但是对于所有可能平台上的“代码签名”的一般问题,在很多情况下,使用自己的根目录是理想的选择。在企业内部,对自己的二进制文件进行签名是很正常的。

,

自签名证书最适合于开发,测试和学习环境。

没有别的地方您应该考虑它们

本文链接:https://www.f2er.com/2991841.html

大家都在问