双证书体系key usage扩展——Outlook使用证书发送加密签名邮件
网络认证第十二讲作业
一.作业要求
测试邮件客户端软件(如Outlook、Foxmail等)是否支持key usage扩展
二.使用工具
OpenSSL,OutLook,FoxMail
三.实验过程
- 使用OpenSSL生成证书
(1). 首先生成私钥pravate.pem
在命令行中键入:genrsa -des3 -out private.pem 2048,使用RSA算法生成2048位私钥,并使用3DES算法来加密key。
输入DES的加密密钥之后,生成private.pem文件
(2). 生成带有扩展的证书
实验要求测试邮件客户端是否支持key usage扩展,所以生成两个证书加以区分测试。cacert2.crt的key usage扩展为Digital Signature, Non-Repudiation, Key Encipherment (e0),证书可以用来加密和签名;cacert3.crt的key usage扩展为Digital Signature, Non-Repudiation,没有了加密功能,只能用来签名。
在openssl.cnf文件中修改[v3_req]的keyUsage字段内容:
cacert2.crt的配置 → keyusage= nonRepudiation, digitalSignature, keyEncipherment
cacert3.crt的配置 → keyusage= nonRepudiation, digitalSignature
在命令行中键入:req -new -x509 -days 3650 -key private.pem -out cacert2.crt -config openssl.cnf -extensions v3_req,生成带有扩展的证书。同理,修改cnf配置文件后生成cacert3。
证书生成时要求输入证书信息,包括国家、组织名称、邮箱等,在此处输入的邮箱地址要与之后登陆测试的邮箱地址一致。
生成证书如下图所示,图左为cacert2.crt带有keyEncipherment加密功能的证书,图右为cacert3.crt不可用于加密的证书:
(3). 生成pfx文件
使用pkcs12将证书和对应的私钥信息进行打包,以口令保护私钥,生成pfx文件,以便将证书导入计算机的"个人"证书中,并在邮件客户端配置。
在命令行中键入:pkcs12 -export -out cacert2.pfx -inkey private.pem -in cacert2.crt
输入之前用于3DES算法用于加密私钥的密钥,验证通过后,再设置导出私钥的口令。分别生成cacert2.pfx和cacert3.pfx文件。
测试OutLook是否支持key usage扩展
为了在OutLook中配置个人证书,首先要在浏览器中,将证书导入"个人",并在"受信任的根证书颁发机构"中信任自己生成证书的颁发者。
(1). keyusage= nonRepudiation, digitalSignature, keyEncipherment
首先选择cacert2.crt(带有Key Encipherment可用于加密的证书)配置OutLook,该证书既可以用于签名也可以用于加密,如下图所示:
然后发送加密签名测试邮件,收件人"xx的is"地址为"xxxxx@is.xx.xx",事先已经在联系人中配置好该收件人的证书。在发送时选择加密和签署,如下图所示:
收件人"xx的is"成功收到并打开该邮件,而且该邮件是被加密和签名过的,如下图所示:
(2). keyusage= nonRepudiation, digitalSignature
再从OutLook配置中更换证书,选择cacert3.crt(没有Key Encipherment不可用于加密的证书)。选择签名证书时,弹出了两个可选证书,其中包括cacert3.crt,该证书可用于签名。
然而再选择加密证书,弹出选择证书中只有一个证书,无法选择cacert3.crt,可看出OutLook已经识别出来cacert3.crt不带有keyEncipherment的Key Usage扩展,所以无法用于加密。
再尝试发送加密并签名的邮件,无法发送邮件,提示没有可用于加密的证书。尝试发送只签名不加密的邮件,可以发送成功。
四.实验结论
本次实验测试了OutLook客户端。
OutLook支持Key Usage扩展,当证书Key Usage扩展带有nonRepudiation, digitalSignature, keyEncipherment时,证书可以用于发送加密并签名的邮件,而不带keyEncipherment时,OutLook无法使用证书发送加密邮件。
FoxMail 7.2版本并不支持数字证书配置,更无从谈起是否支持Key Usage扩展了。但是该客户端拥有加密邮件的功能,保证了邮件机密性,却无法保证邮件的真实性完整性。可见OutLook在邮件安全方面做得比FoxMail全面并专业。