颁发自己的签名软件证书

我们有一个基于Windows的基础设施。 最近,我们被软件开发者问及我们是否可以颁发自己的证书来签署一些我们发送给合作伙伴的小程序。 但是我不完全了解这样做的过程。 我想为我们build立什么来颁发和维护自己的签名软件证书? 由于某些安全问题,显然软件必须是签名的。

从像Verisign这样的提供商处购买证书不是一种select,据我所知,我们的证书不需要被信任。

通常如何做? 我在公司有一个基于Windows的基础设施。

您可以设置一个Microsoft证书颁发机构,但这可能不适用于您要完成的任务。 可以使用Microsoft证书服务器来签署在networking中使用的代码,因为您可以让所有机器信任证书颁发机构。 这不会帮助其他人信任您的应用程序作为开发人员,而无需像Verisign这样的供应商签名。

这是一个签署Windows 8应用程序与内部PKI的post,但这又适用于内部应用程序不是外部的。 http://blogs.technet.com/b/deploymentguys/archive/2013/06/14/signing-windows-8-applications-using-an-internal-pki.aspx

如果没有得到一个合适的,被认可的第三方代码签名证书,我真的不认为你能够完成你想要的东西。

Verisign不是唯一的这种证书的发行者; 货比三家,你会发现更好的价格。

至于签名过程中,我用这里描述的方式使用MS Signtool: https ://stackoverflow.com/questions/2718776/how-do-i-sign-exes-and-dlls-with-my-code-signing- 证书

您肯定可以创build自己的CA,并将该CA发送给您的客户端,客户端必须将其安装为所有用来运行软件的计算机上可信的CA. 您必须pipe理(并密切注意)CA密钥,并说服您的每个客户与您一起(与安全策略类似的任何人将拒绝接受),并提供详细的说明并提供支持。

如果您使用不受信任的证书,通常Windows会比根本不签署二进制文件更加严重。

严重的是,不排除购买其中之一。 如果你跟像StartCom这样的供应商,你可以有一个每两年最多120美元。 即使你的所有员工都被支付了最低工资,这比处理自己的签署要便宜。