双证书体系key usage扩展——Outlook使用证书发送加密签名邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了双证书体系key usage扩展——Outlook使用证书发送加密签名邮件相关的知识,希望对你有一定的参考价值。

网络认证第十二讲作业

一.作业要求
测试邮件客户端软件(如Outlook、Foxmail等)是否支持key usage扩展
二.使用工具
OpenSSL,OutLook,FoxMail
三.实验过程

  1. 使用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文件。
技术分享图片

  1. 测试OutLook是否支持key usage扩展
    为了在OutLook中配置个人证书,首先要在浏览器中,将证书导入“个人”,并在“受信任的根证书颁发机构”中信任自己生成证书的颁发者。
    技术分享图片
    (1). keyusage= nonRepudiation, digitalSignature, keyEncipherment
    首先选择cacert2.crt(带有Key Encipherment可用于加密的证书)配置OutLook,该证书既可以用于签名也可以用于加密,如下图所示:
    技术分享图片
    然后发送加密签名测试邮件,收件人“xx的is”地址为“[email protected]”,事先已经在联系人中配置好该收件人的证书。在发送时选择加密和签署,如下图所示:

    技术分享图片
    收件人“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全面并专业。

以上是关于双证书体系key usage扩展——Outlook使用证书发送加密签名邮件的主要内容,如果未能解决你的问题,请参考以下文章

outlook邮箱无法验证安全证书

OUTLOOK 无法验证安全证书问题

exchange服务器证书过期,导致outlook客户端不停的弹出证书过期的警告窗口

PHP的OpenSSL加密扩展学习:证书操作

PHP的OpenSSL加密扩展学习:证书操作

OUTLOOK2019 解决 无法验证您连接到的服务器使用的安全证书