开源项目的代码签名证书?


117

我想将我的一个应用程序发布为开源,并想用自己的证书对我创建的二进制文件进行数字签名。(当然,其他任何人都可以下载代码并使用自己的证书自己构建代码。)我想这样做,以便任何人都可以检查此构建是我而不是其他人进行的。我还想用有效的SSL证书创建一个安全的网站,以便访问者可以安全的方式创建自己的帐户,以便为该项目做出贡献。

我可以创建一个自签名证书,但是我不太喜欢该选项。或者,我可以向Verisign支付几枚金币,以获得可以在几年内有效的证书。我也不喜欢这种选择,因为我的国库对我很有价值。

那么,还有其他选择吗?例如,通过以优惠的价格提供证书来支持开源项目的提供商?它不是免费的,只是比Verisign便宜得多...

(该项目是使用Visual Studio 2008 C#创建的。另外,ASP.NET中还需要SSL的其他项目。)


这个问题是话题。它描述了问题(希望发布)以及已完成的事情(构建了应用,但未签名)。它不要求提供建议,仅要求一个或多个免费或低成本提供商的名称。它确实要求提供“找到”场外资源的答案,但由于几乎没有可用的选择,因此它不会以可能吸引有目的的答案或垃圾邮件的方式提供答案。
爱德华·布雷

5
我确实想指出,我已经问了这个问题将近8年了。如今,已经有更多选择,但可靠性已成为问题。SSL和Web开发也有很多免费选项,但是代码签名证书仍然稀缺...
Wim 10 Brink

1
las LetsEncrypt 将不支持代码签名证书。2018年年中,最便宜的我能找到的是Comdo的codesigncert每ANUM $ 59 如果政府向所有公民/ 臣民颁发带有代码签名证书的身份证,这会容易得多,但随后我将被迫信任我的政府
Earcam '18

Answers:


9

您可以尝试CAcert。这样,您就可以通过其他CAcert用户的认证。CAcert具有基于信誉的系统,因此,如果您经常获得认证,则您的证书将被视为有效。

您可能必须将CAcert添加为目标系统上的可信授权。自签名可执行文件应该是足够的选择,但是您需要提供公共证书。使用已知的授权机构可以帮助验证文件,但在这种情况下,我认为将文件校验和或sha2哈希与您的自签名证书结合使用会导致文件被杀。您可以将Linux机器设置为CA,但是他们将需要信任您的公共证书。


48
CACert的不利之处在于,默认情况下,所有主流浏览器(wiki.cacert.org/InclusionStatus)都不包含它,因此典型的用户体验并不比自签名证书更好。
川口浩辅

6
另外,如果您有兴趣签名Windows可执行文件,请注意,CACert不在Windows根证书计划成员的证书颁发机构(CA)列表中,而Unizeto CERTUM
user377486 2014年

我尝试了CAcert。这张图片总结了:imgur.com/a/rNYqBme
塞尔


35

对于开源开发人员,Certum 免费提供代码签名证书*

申请证书时,只需在“公司”字段中输入“开源开发人员”。而已。

链接到开源代码签名证书在这里

[*]从2016年开始,开源代码签名证书将不再免费提供。现在,它是一项付费服务​​。


2
去过该网站并且只能看到SSL证书,您可以深入链接到代码签名证书吗?
Frozenskys

3
他们似乎不再提供此服务。
乍得

3
AFAIK他们停止提供免费的开放源代码开发人员证书。否则,我将非常感谢您提供的链接。
reiniero 2012年

15
看来证书不再免费-从测试证书页面上删除了对开源代码签名的引用,现在有一个单独的产品页面en.sklep.unizeto.pl/data-safety/code-signing-certificates/ ……。尽管价格为14欧元,但比其他证书便宜得多。注册过程似乎与他们免费时的情况相同。
亚历克斯·沃伦

2
@quasoft是SSL证书。
内森·奥斯曼

27

更新:不再免费,现在€105.78(截至2017年2月19日)。如果您已经拥有他们的加密硬件,则成本会更低。FWIW,以下是先前的说明。


Certum / Unizeto获得免费的代码签名证书,以个人身份进行,请按照以下步骤操作。使用Internet Explorer或Safari,因为它们支持密钥交换机制。

  1. 浏览到“ 测试ID”和“ OpenSource代码签名”证书,然后提交表单。

  2. 该证书将显示在“ 激活证书”下。点击激活

  3. 通过激活向导。对于组织,请输入Open Source Developer。对于组织单位,输入软件发布

  4. 您会收到一封电子邮件,要求提供身份证明。回复并带有指向开源项目的链接以及驾驶执照(或其他接受的文档)的图像。为了保护您的隐私,您应该加密回复。*加密方式因电子邮件客户端而异。对于Outlook,请确保您具有电子邮件证书(可免费获得),然后打开加密

  5. 在一天左右的时间内,您应该会收到一封电子邮件,其中包含用于收集证书的链接。您必须从用于启动该过程的同一台计算机和浏览器中打开链接。

*尽管来自Certum的验证电子邮件表明要将证明发送至ccp@certum.pl,但Certum也接受发送至回复地址的证明info@certum.pl,您可以向其发送加密的电子邮件。


工作正常,非常感谢!您知道他们是否在1年期限后免费续订证书?还是这只是一个试用期,然后变成了付费证书?
Al-Khwarizmi 2014年

1
大约10个月后,您会收到一封邮件,提醒您证书即将到期。他们在那封邮件中提到您可以续约,但是那没有用(对我来说是4个月前)。我以与一年前相同的方式申请了新证书,并获得了证书。简而言之:您每年只需要申请一份新证书。
马丁·斯托克

国家下拉列表似乎不再列出美国了?早在2013年就获得了证书,因此曾经为我工作。
Warty

试过这个。现在为期90天的证书。但是,无法
跳过

他们似乎还剩下CSR方法。他们如何知道CSR是否由其硬件生成?
OCTAGRAM '17

22

2016年更新:在可疑情况下,WoSign已收购StartCom 。我不会相信StartCom / WoSign。考虑下面的文本作为良好StartCom如何在历史说明 到2015年年初

我已经从StartCom(StartSSL)获得了代码签名证书。我对他们的服务非常满意:他们的客户服务非常快,价格也很合理。

获取代码签名证书

要获得代码签名证书,需要进行2类身份验证。StartCom会指导您完成整个过程(以我的经验,通常在十分钟之内就具有出色的响应率)。
如果您想立即获得详细信息,请阅读此博客文章。我在一小时内就通过了验证(费用为59.90 $,通过Paypal)。

验证后,生成一个新的私钥和一个证书签名请求(CSR)。请注意,将忽略除公共密钥以外的所有字段。证书中的所有信息都是从您在身份验证期间提供的信息推断出来的,而不是从CSR推断出来的

# Create key and CSR (key must be at least 2048 bit, per Policy Statement)
openssl req -nodes -newkey rsa:2048 -keyout codesigning.key -out codesigning.csr
# Add pass phrase to key (optional, but highly recommended)
openssl rsa -in codesigning.key -des3 -out codesigning2.key && \
    mv codesigning2.key codesigning.key

通过Web界面提交此证书,您将很快获得有效期为两年的新证书(我在一小时内就收到了我的证书)。

问题:终身签名OID

StartCom的2类证书已设置了“终身签名OID”。因此,即使证书带有时间戳,证书过期后,已签名代码的签名也将变得无效。

当我询问EdCom Nigg(StartCom的首席运营官/首席技术官)的原因时,他回答:

要求我们在证书过期后将CRL保持最长20年的运行时间。这是我们可以为EV级证书(低得多的金额,不同的付款条件)做的事情,但是仅出于这种好处(如果代码签名只是该级别选项的一部分),就会增加2类的价格。

因此,只有在扩展验证(EV)之后才能使用时间戳记,扩展验证仅适用于合法成立的组织,价格为199.90美元。因此,单个开发人员无法将时间戳记与StartCom的代码签名证书一起使用

长期以来,我认为此限制是一个大问题。最近,我改变了主意:它仅每两年发生一次,有安全意识的用户可能更倾向于获取我的软件的最新版本,并且该软件的旧版本仍然可以使用(对于那些想要使用它的用户;尽管没有经过验证的签名)。

注意:即使设置了生命周期签名标志,也要始终为您的代码加上时间戳!带有时间戳记的签名将一直有效,直到证书的有效期为止,即使证书已被撤销(显然,只有在证书被撤销之前创建了签名)。

证书的实际使用

在StartCom,您只需支付验证费用。身份验证的有效期为350天,在此期间,您可以免费申请代码签名证书。您只能拥有一个有效的代码签名证书,并且可以用于对任何代码(MSI,DLL,XPI等)进行签名,而不能对驱动程序代码进行签名(这需要EV)。

要更改证书上的属性,必须撤销先前的证书,然后再请求新的证书。吊销证书的费用为29.90美元。尽管当我在获得代码签名证书后的第二天更改了电子邮件,但他们例外地吊销了我的证书却不收费(我很惊讶)!

期满

当您的证书即将过期时(将近两年),您会收到通知(提前两周)。如果您的已验证身份仍然有效(请注意,验证将在350天后到期;那么您必须再次以59.90 $的价格确认您的身份),则可以申请新证书而无需撤销前一个证书。不要忘了发布使用此新代码签名证书签名的软件的新版本,因为以前的版本很快就会显示“(未验证)”或类似内容。

OCSP

收到证书后,我签署了Firefox附加组件。但是,即使我的XPI文件已正确签名,它仍然显示“(作者未验证)”。事实证明,当Firefox向StartCom的OCSP服务器查询新证书的吊销状态时,没有获得当前的证书状态。可能相关的论坛主题

大约半天后,OCSP服务器知道了我的证书,并且我的名字如期出现。获得的经验:获得新证书后,请等待大约一天,然后再使用新签名发布软件。


1
感谢您对生命周期签名和“仅一个活动代码签名证书”的见解。绝对值得知道。我计划有一天这样做,但我想我仍然想这样做。已经使用免费的SSL证书。
ygoe 2014年

2
StartCom上的更新:代码证书现在未设置“终身签名OID”。现在,它们与其他所有代码签名证书一样好。为了进行组织验证,甚至还包括内核代码签名。
约瑟夫(Josef)说,请

8

您也可以签出KSoftware。他们以每年99美元的价格转售Comodo代码签名证书。


1
我过去曾经成功使用过它们。Tucows还是经销商,如果您签订了多年协议,我认为您每年可以花70英镑购买它们。
EricLaw

KSoftware的服务很棒,而Comodo不好,KSoftware的家伙很快就会回答,我没有关系,只是一个满意的客户。
digitai

1
我最近购买了KSoftware的证书,但是我仍然没有完成验证过程,Comodo的验证团队不断要求我提供电话号码,但是面对面并没有说这是强制性的。
Nicke Manarin '17

1
我刚刚从K Software购买了代码签名证书,因为价格差异很大:每年75美元,而不是每年175美元。经过验证和签发后,我将尝试在此处发布更新。但是,我的直觉说,多花100美元直接与Comodo并用是值得的。我会让你知道这是怎么回事...
Joshua Pinter

1
更新:我尝试通过我们的律师来完成他们所需的文件,但是他们说这样做将花费大约1,500美元。因此,我们选择仅在D&B.com进行注册即可获得DUNS编号,并将其用作我们存在的“验证”。我们现在有了它,但这是一个痛苦的过程,从头到尾花了大约一个月的时间才能完成。如果您着急,我会去看看其他提供商,例如digicert.com。(他这样说,我不知道,如果他们有什么不同/更好。)
约书亚品特

8

您可以看看StartSSL产品。

注意StartSSL现在已关闭,不再颁发证书。


4
滑稽。Google Chrome向我报告,startssl.com的证书无效,并警告我进入该网站的风险。:-)我确实进行了。看起来还好
Wim 10 Brink

1
如果您从startsll添加根CA证书,则该证书将消失。我相信FireFox 3+附带此内置CA证书
。– Frozenskys

46
导入根CA始终是一种很好的感觉。Kinda击败了拥有它们的全部目的。
Matthew Whited

3
StartSSL是Windows Vista +中第一个(也是唯一一个)具有RootCA的免费CA。Windows的较旧版本有一个证书更新,其中也包含证书更新。Chrome为什么没有将其作为RootCA或无法回退到Windows进行检查的原因仅仅是Chrome问题。
罗伯特·麦克莱恩

6
BTW StartSSL的代码签名证书是beta版,需要经过验证(目前尚不免费$ 50)
Robert MacLean

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.