从Windows 2000开始,微软就开始在操作系统的模块上推行数字签名,最早是在驱动程序中推行,不过一直都没有特别强调这一点。从Vista开始,微软在x64位的系统上强制推行数字签名,没有经过WHDL和RDS认证并签名的驱动程序将无法在Vista x64版本上加载。对于普通的应用程序来说,微软也开始推行数字签名,虽然没有经过签名的应用程序仍然可以在Vista上运行,但是如果ISV想通过微软的logo认证,那么就必须对所有的可执行文件进行数字签名。在后续的Vista版本上,微软会逐步加强对数字签名的要求,最终要求所有的应用程序必须经过签名才能在Windows系统上运行。当然,这是长远目标,其中还有很长的路要走。
对于ISV来说,我们现在就应该做好数字签名的准备。我在这里就用一个简单的例子来说明一下大概的过程,如果实际操作的话,会有不同的要求。
第一步:你需要自己自己生成一个证书,并把其中的私钥导出备用。
第二步:把生成的证书提交给第三方的认证机构,比如:Verisign,Thawte这些比较大的公司都提供相应的服务;提交的同时,这些机构会需要你提供一些资料以便认证你的身份。这个很好理解,因为他们需要在以后你使用证书的过程中对你的身份负责,所有他们必须首先认证你的身份。
第三步:这些机构会给你提供一个Digital ID,对你的身份信息提供认证。一般会用邮件的方式通知你。
第四步:使用工具对你自己的可执行文件进行签名。
签名完成以后就可以用证书发布你的产品了,那么当程序在Vista上运行的时候就会被认为是可以被识别的应用程序。
以下是一个具体的例子:
1)首先生成证书:
