独立开发者的代码签名

来源:infoq-马国耀

代码签名是一种互联网信任机制,它使软件用户在下载和执行互联网上的可执行代码之前先信任它。由于费用及流程的原因,该机制目前尚未向独立开发者直接开放。但是,现在已经有一些 商店开始向独立开发者发售Thawte代码签名证书,年费为99美金。

使用数字签名并不能阻止恶意行为——它只能保证代码不被非原作者之外的第三方篡改。Tim Heuer最近写过一篇博客,总结了开发者获取证书的流程,给出了需记住的几点建议。Thawte提供5中不同的证书,分别面向不同的代码签名实现——AuthenticodeOffice/VBAJavaAdobe AIRMac。若使用Authenticode证书,你甚至可以给在浏览之外运行或本地安装的Silverlight应用签名

代码签名是如何工作的呢?它使用了私钥-公钥对和单向hash算法。软件发布者使用自己的私钥对可执行代码做签名,而让终端用户使用他(软件发布者)的公钥做验证。CA机构使用自己的私钥对软件发布者的公钥做签名。因为CA机构是被大多数操作系统信任的,所以终端用户就能信任软件发布者的公钥,进而信任其可执行代码。Scott Corley对该过程有更详细的解释

除了使用CA之外,你还可以将自己的公钥公布出去(对方通过下载或安装获得你的公钥),或者在大型可控的部署环境中使用私有CA(如大公司的内部用户)。此外,在AndroidiOS等新平台中这些方法已经够用,自签名应用甚至是典型的做法。

收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部