打造自己的防伪标识──跟我学做数字签名

Author: 任晓磊 Date: 2001年 32期

?牐犇阆朐谧约罕嘈吹娜砑峡躺献约旱拿致穑磕阆氡Vび没?拿到的软件确实是你写的而不是被加了木马的版本吗?你可以为软件加上数字签名来做到这一切。
  ?牐牨疚耐ü桓鍪道徊揭徊降亟樯芪⑷砉咎峁┑氖智┟ぞ叩氖褂梅椒ā?
  #1    一、准备工作
  ?牐犑紫龋阈枰涤幸桓鍪种な椤O衷冢谕嫌泻芏郈A(Certificate Authoritg,证书授权)中心提供此服务。文后将附有一个目前比较常见的CA中心列表。
  ?牐牭組SDN下载区(http://msdn.microsoft.com/downloads/default.asp)选择左边的Security,会进入安全产品页面。在此页中选择左边的Authenticode,就会进入下载页面了。左边一共有4个选择,选择Authenticode for Internet Explorer 5.0,点击右边的连接下载codesign.exe。
  ?牐牥严略氐腸odesign.exe展开,会得到8个文件。其中对软件进行数字签名的文件是signcode.exe。
  ?牐牭玫绞种な楹蛃igncode.exe以后,就可以开始对软件进行数字签名了。
  #1    二、开始签名
  ?牐牏僭诵衧igncode.exe,出现数字签名向导。点击下一步,进入如^32020202a^1所示的文件选择界面。在该界面中可以选择要签名的文件。目前支持的文件类型有exe、dll、ocx、stl、cab、cat六种。
  ?牐牏谘≡窈梦募慊飨乱徊剑峤隵32020202b^2所示的签名选项窗口,要求选择“典型”设置或者“自定义”设置。在这里我们选择“典型”。
  ?牐牏鬯婧螅岢鱿秩鏭32020202c^3所示的要求选择签名使用的证书的窗口。点击“从存储区中选择”按钮,在已经安装的证书中选择一个,然后点下一步。
  ?牐牏苷馐保嵋筇钚锤萌砑拿枋觥H绻枰谏媳叩目蚶锾钌先砑拿郑卤咝瓷现饕车刂罚缓蟮阆乱徊剑╚32020202d^4)。
  ?牐牏萑绻枰谑智┟霞由先掌冢硎救砑姆⑿腥掌冢梢蕴砑邮奔浯痢T诟囱】蛏洗蛏瞎常缓笤凇笆奔浯练馯RL”的框里写上http://timestamp.verisign.com/scripts/timstamp.dll就可以了。如果不需要,就直接点下一步(^32020202e^5)。
  ?牐牼陨?5步,数字签名向导已经收集到足够的信息对指定的文件进行签名。因为加上的签名不能去掉,所以出现如^32020202f^6所示窗口要求对信息进行验证。如果有问题,可以点上一步按钮退回修改;如果没有问题,点完成按钮,签名向导就会对文件进行签名。如果选择了时间戳服务,必须上网才可以成功签名,并且等待的时间可能会长一些。
  #1    三、验证签名
  ?牐牪榭辞┟瓯系奈募氖粜裕嵊小笆智┟币常╚32020202g^7)。
  ?牐牭慊鞫曰翱蛑械南晗感畔?按钮,可以查看签名时用的证书和时间戳(如果有的话)。如果文件被修改过(我们这里使用ExeScope修改一个字符串),则会出现如^32020202h^8所示的详细信息窗口。
  ?牐牳剑褐泄<鸆A中心的网址
  ?牐犐虾!⒈本?、天津CA中心  http://www.sheca.com
  ?牐牳穸绨踩?  httpL://www.koal.com
  ?牐犞泄秩现ね?  http://www.ca365.com
  ?牐犞泄缧湃现ぶ行?  http://202.103.65.18
  ?牐犞泄鹑谌现ぶ行?  http://www.cfca.com.cn