| 除了通过邮件发送你的S/MIME证书(不是根证书),你还可以通过文件方式,以PKCS#7证书链方式将证书导出到文件并发给别人,那他就可以通过打开文件将你的证书添加到通讯簿中。此外还有一种情况就是你希望给一个人发一个加密的邮件,但又没有对方的证书,这时就需要一个类似黄页的工具来查询某人的证书,目前主要是通过目录查询来实现的。点击NT/98的开始按钮,选择“查找|用户”菜单,在服务商中选择Verisign,然后在名字一栏中输入Frank然后按查找,双击某个输出结果查看其属性,你会发现这个人的证书,将其添加到通讯簿中后,你就可以给他发送加密邮件了。
现在来讲一下代码签名,如果你编写一个ActiveX 控件并放在网页中,别人通过Internet下载时通常会出现一个安全警告,提示代码没有签名。在你的Certificate
Server安装目录下找到xenroll.cab,并查看其属性,你会发现多了一栏数字签名,这里你可以查看签名验证情况以及相关证书。要给自己的程序签名其实也很简单,Microsoft有一个Authenticode工具专名用来给代码签名,你可以从Microsoft站点下载到,里面有许多工具,但通常你只要用到signcode.exe就够了。首先你需要有一个代码签名证书,然后使用signcode.exe使用过程很方便,基本是wizard方式的,在提示选择使用的签名证书时按“从存储器选择”按钮选择签名证书。你可以选择将所以证书放入签名,也可以不将根证书放入签名,建议不要将根证书放入签名,还是应让用户从你的站点下载根证书,因为带根证书的签名是没有意义的,虽然这会给用户带来一些麻烦(他需要先安装根证书才能正确验证你的签名)。在提示加入时间戳时选择不加入时间戳。完成签名后你可以从文件属性验证其签名和证书。
时间戳的作用在于证明某一段数据在该时间的存在性。比如你有一个重大发现,希望用它来争取诺贝尔奖,你用Word编写你的论文,但是为了证明你是第一个发现者,你需要证明你写论文的时间,由于文件的时间可任意修改,不能作为证明,所以你需要有一个时间戳,你通过某个Hash算法计算出你的Word文件的摘要并发送给一个权威的时间戳签名服务商(DTS),DTS对摘要和签发时间进行签名形成时间戳发还给你,你将文件时间戳合并,作为将来证明你撰写论文时间的依据。时间戳服务需要很高的权威性,所以对私钥存储,时间来源都有很高的要求。目前这方面应用不多,好象Office
2000似乎支持时间戳功能。
无论是SSL也好,安全电子邮件也好,代码签名也好都是Netscape最先提出和使用的,在Netscape中使用这些技术,方法都很相似(Microsoft学的还真象),所以这里不再多说了。IE5.0以后,Microsoft的这些技术和产品已经比较成熟,在功能上部分超越了Netscape,但Netscape毕竟是原创,在这方面的文档资料比较全面,讨论组和邮件列表也比较多,所以在技术支持方面会比较好一点。
|