本文出自 “叶俊生” 博客,请务必保留此出处http://yejunsheng.blog.51cto.com/793131/175814

PKI结构: CA颁发证书 一个证书包括: CA的数字签名.公钥.证书持有人身份信息 公钥加密私钥解密(数字信封) 私钥加密公钥解密(数字签名)
Exchange 2003邮件安全系统的组件: Exchange Server 2003 电子邮件客户端 PKI 见下图:
2003941
针对电子邮件客户端的Exchange 2003邮件安全支持: Microsoft Outlook(R)2000以及基于MAPI的更高版本客户端 Internet标准邮局协议版本3(POP3)和Internet邮件访问协议版本4rev1(IMAP4)客户端 Outlook Web Access客户端 Outlook Mobile Access 客户端 Exchange ActiveSync(R)客户端
Exchange的PKI支持: Exchange 5.5 Exchange 2000 Exchange 2003
数字签名和Exchange 2003邮件安全系统 -->见下图:
2003942
邮件加密和Exchange 2003邮件安全系统 -->见下图:
2003943
邮件加密.数字签名和Exchange 2003邮件安全系统 -->见下图:
2003944
实现并维护Exchange 2003以支持邮件安全性: 默认已启用 -->见下图:
2003945
在Exchange 2003中实现并维护电子邮件客户端以支持邮件安全性: 实现MAPI客户端安全性 实现OWA客户端安全性 实现POP客户端安全性 实现IMAP4客户端安全性
2003946
我现在来到计算机名称叫做Beijing这台计算机 它是第一台Exchange服务器并且它是域控制器 它也是证书服务器 首先来确认一下Exchange Server 是否已经支持S/MIME存储和转发 打开Exchange 系统管理器--展开第一个管理组--服务器--BEIJING--第一个存储组--对着邮箱存储(BEIJING)右键--选择属性 可以看到当前客户端支持S/MIME签名 按确定
2003947
我再来确认一下当前计算机名称叫做Beijing这台计算机确实是安装了CA 对着我的电脑右键--选择属性--按计算机名 可以看到当前这台计算机的标识不能更改因为: - 证书颁发机构服务器安装在这个计算机上了. 按确定
2003948
我现在来到计算机名称叫做Guangzhou这台计算机 它是第一台客户端 我使用user1这个用户(域用户)登录域中 打开IE浏览器--在地址里面输入证书服务器的地址(http://beijing/certsrv/)按回车键 选择申请一个证书
2003949
在选择一个证书类型里面: 按用户证书 在用户证书识别信息里面: 按提交 此时它提示此网站正在代表您请求一个新的证书.你应该只允许信任的网站为你请求证书. 你想现在请求证书吗? 你按是就ok了
2003950
因为我安装的CA服务器是企业CA服务器 所以它现在已经把证书批准给你了 因为它发现你是一个域用户 按安装此证书 把此证书安装在当前第一台客户端 按是 此时它提示您的新证书已经成功安装.
2003951
现在我来确认一下证书是否已经成功安装了 通过开始--运行--输入mmc按确定来打开控制台 按文件--按添加/删除管理单元--按添加--按证书--按添加 按关闭 按确定
2003952
现在我来展开证书 - 当前用户--个人--按证书 可以看到已经有证书了 这个证书就是刚才我通过IE浏览器向CA申请的一个证书 申请证书有二种方法: 使用IE浏览器来申请证书是其中一种方法 还有一种方法就是使用MMC控制台来申请证书 但是使用MMC控制台申请证书只能向企业CA申请 如果是一个独立CA的话 就无法使用这种方法来申请证书了
2003953
我现在来到计算机名称叫做Chongqing这台计算机 它是第二台客户端 我使用user2这个用户(域用户)登录域中 这台客户端还没有证书 现在我直接使用MMC控制台这种方法来申请证书了 通过开始--运行--输入mmc按确定来打开控制台 按文件--按添加/删除管理单元--按添加--按证书--按添加 按关闭 按确定
2003954
展开证书 - 当前用户--按个人 可以看到现在个人这个容器中还没有出现其他的容器也没有出现其他的证书 这表明user2这个用户当前还没有证书 现在我将利用这个工具为user2来申请一个用户的证书 对着个人右键--按所有任务--选择申请新证书 此时可以看到欢迎使用证书申请向导 接着下一步
2003955
这一步选择用户为user2申请一个用户的证书 接着下一步 按完成就ok了
2003956
这个时候可以看到在个人容器里面出现一个证书容器了 按证书这个容器可以看到现在已经有一个user2用户的证书了 对着user2右键--选择属性 可以看到当前这个证书的作用主要是加密文件系统 安全电子邮件 客户端验证 只要确认安全电子邮件选项已经沟上就ok了 按确定
2003957
现在我来到域控制来确认一下AD数据库里面已经保存了user1和user2这两个账号的证书 通过开始--运行--输入dsa.msc按确定来打开Active Directory 用户和计算机 按查看--把高级功能沟上 对着user1右键--选择属性 按发行的证书--可以看到在AD数据库里面已经存储了user1这个用户的证书--按user1--按查看证书可以看到其中有一项功能是保护电子邮件消息 按确定
2003958
我再来确认一下user2这个用户是否有证书存储在AD数据库里面了 对着user2右键--选择属性--按发行的证书 可以看到在AD数据库里面已经存储了user2这个用户的证书了 按user2--按查看证书 有保护电子邮件消息这一项功能 ok 没问题了 按确定 注意:虽然在AD数据库里面也存储了证书的副本 但是这个证书和在客户端的那个证书差别是非常大的 因为在AD数据库里面的证书只包括了user1和user2的公钥 并没有包括私钥 而在客户端里面是包括私钥的
2003959
为了验证一下 可以对着user1右键--按所有任务--选择导出 此时可以看到欢迎使用证书导出向导 接着下一步 这个时候你就发现这里面有一个选项是,导出私钥 这就充分证明了当前user1这个用户的私钥在这个证书里面
2003960
我现在来到计算机名称叫做Guangzhou这台计算机 它是第一台客户端 我使用user1这个用户登录域中 打开Outlook 按工具--选择电子邮件账户 选择查看或更改现有电子邮件账户 接着下一步 按更改 此时可以看到当前用户名是user1 Exchange服务器是shanghai.yejunsheng.com 现在识别就充分证明user1这个用户是以MAPI的方式连接到Exchange服务器的 user1发送电子邮件不是使用S/MIME加解密或者签名的 现在它也没有能力去加密或者解密
2003961
现在我来配置一下 使MAPI客户端支持可以使用公私钥-->PKI这种结构 按工具--按选项--按安全 可以看到对所有S/MIME签名邮件要求S/MIME回执那一项的默认设置是灰色的 意味着当前user1这个用户无法去发送或者接着这种加解密和签名电子邮件 按设置--在签名证书那一项按选择--按刚才为user1申请这个证书 按确定 此时user1这个用户已经拥有公私钥这种结构了
2003962
我现在来到计算机名称叫做Chongqing这台计算机 它是第二台客户端 我使用user2这个用户登录域中 打开Outlook--按工具--按选项--按安全--在对所有S/MIME签名邮件要求S/MIME回执里面按设置--在签名证书那一项按选择 按刚才为user2申请这个证书 按确定
2003963
现在我以user2这个用户的身份来发送一封加密或签名的电子邮件给user1这个用户 按新建 此时在右上角可以看到对邮件进行数字签名和加密邮件内容和附件这二个图标了 按收件人--按user1--按确定 主题就叫做签名测试吧 邮件内容里面也输入签名测试 注意: 这个时候还要把对邮件进行数字签名这个图标选中 按发送
2003964
我现在来到计算机名称叫做Guangzhou这台计算机 可以看到user1这个用户已经收到user2这个用户的电子邮件了 双击这封邮件来打开它 在右边有一个签名的图标 按这个图以后可以看到当前这个窗口告诉我数字签名是有效的
2003965
我现在再来到计算机名称叫做Chongqing这台计算机来新建一封加密的电子邮件 在Outlook里面按新建--按收件人--按user1 按确定 主题就叫做加密测试吧 在邮件内容里面也输入加密测试 注意: 此时还要把加密邮件内容和附件这个图标选中 按发送
2003966
我现在来到计算机名称叫做Guangzhou这台计算机 此时可以看到user1这个用户已经收到user2这个用户发送的电子邮件了 并且右边是不可显示的 表明这封邮件是加密的 双击这封邮件--在右边按加密图标--按加密层 可以知道这封邮件确实是加密的 是由168位3DES加密保护.为user1@microsoft.com来加密的 刚才是user2这个用户去加密电子邮件给我 实际上刚才user2这个用户是使用user1的公钥来加密 为什么user1能打开这封邮件呢? 就是因为user1拥有自己的私钥
2003967
user2这个用户能不能同时加密和签名一封邮件给user1这个用户呢? 当然是可以的 现在我来到计算机名称叫做Chongqing这台计算机 打开Outlook--按新建--按收件人--按user1--按确定 主题就叫做加密和签名吧 邮件内容里面也输入加密和签名 注意: 这个时候还要把对邮件进行数字签名和加密邮件内容和附件这两个图标都选中 按发送
2003968
我现在来到计算机名称叫做Guangzhou这台计算机 看到了吗? 现在user1这个用户已经收到刚才user2给它发送的那封加密和签名电子邮件了 双击这封邮件 可以看到有对邮件进行数字签名和加密邮件内容和附件这两个图标 按两个图标都能看到里面的内容 说明没什么问题了
2003969
现在我来实现使用OWA的访问方式来加解密电子邮件 我来到计算机名称叫做Chongqing这台计算机来新建二封电子邮件发送给Administrator 按新建--按收件人--按Administrator--按确定 主题就叫做签名测试2吧 在邮件内容里面也输入签名测试2 把对邮件进行数字签名那个图标选中 按发送
2003970
我再来新建一封加密电子邮件发送给Administrator 按新建--按收件人--按Administrator--按确定 主题就叫做加密测试2吧 在邮件内容里面也输入加密测试2 选中加密邮件内容和附件这个图标 按发送 这个时候你会发现报了一个错误 提示: Microsoft Office Outlook 加密此邮件时遇到问题,因为下列收件人的证书丢失或无效,或者他们的证书与加密冲突或不支持加密:Administrator 因为Administrator这个用户并没有向CA服务器申请过证书 这就意味着它没有公钥和私钥 现在只能选择发送时不加密了 那么这就失去我们测试的意义了 因此我就先按取消了
2003971
我现在来到计算机名称叫做Beijing这台计算机 它是一台域控制器并且我使用administrator这个用户登录进来的 现在我来为administrator这个用户申请一个证书 打开IE浏览器--在地址里面输入http://beijing/certsrv按回车键 按申请一个证书 按用户证书 按提交 按安装此证书 此时它提示您想让此程序现在添加证书吗? 你按就ok了
2003972
现在我来查看一下Administrator这个用户的证书是否安装成功了 通过开始--运行--输入mmc按确定来打开控制台 按文件--按添加/删除管理单元--按添加--按证书--按添加--选择我的用户账户--按完成 按关闭 按确定 展开证书 - 当前用户--个人--按证书 看到了吗? 已经有Administrator这个用户的证书了
2003973
我再来到计算机名称叫做Chongqing这台计算机发送一封加密电子邮件给Administrator这个用户 看看能否成功发送 选中加密邮件内容和附件这个图标 按发送 此时没有报错了 表示发送成功了 这就是因为通过AD的查询找到了Administrator在AD数据库里面存储了证书 这个证书里面有公钥 所以我刚才发送邮件没有什么问题了