双证书体系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全面并专业。

原文地址:http://blog.51cto.com/13786619/2123916

时间: 2024-08-27 08:50:26

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

SSL证书必知必会:数字证书及CA基础知识

SSL证书必知必会:数字证书及CA基础知识 数字证书 数字证书是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字***,而是身份认证机构盖在数字***上的一个章或印(或者说加在数字***上的一个签名).它是由权威机构--CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份.最简单的证书包含一个公开密钥.名称以及证书授权中心的数字签名.数字证书的一个重要的特征就是只在特

处理Linux下subversion尝试连接自建的VisualSVN server报“Key usage violation in certificate has been detected”错误的问题

在Linux下使用subversion尝试链接VisualSVN server搭建的svn库,可能会报下面错误, svn: OPTIONS of 'https://server.domain.local/svn/repo': SSL handshake failed: SSL error:Key usage violation in certificate has been detected. (https://server.domain.local) google了这个问题,发现这个在Visu

Atitti.数字证书体系cer pfx attilax总结

一.数字证书常见标准 1 数字证书文件格式(cer和pfx)的区别: 1 二.数字证书存储内容 2 X.509是一种非常通用的证书格式. 2 详细特征 2 X.509证书格式 3 一.数字证书常见标准 数字证书体现为一个或一系列相关经过加密的数据文件.常见格式有: 符合PKI ITU-T X509标准,传统标准(.DER .PEM .CER .CRT) 符合PKCS#7 加密消息语法标准(.P7B .P7C .SPC .P7R) 符合PKCS#10 证书请求标准(.p10) 符合PKCS#12

在阿里云linux下使用SVN访问VisualSVN出错:SSL handshake failed: SSL error: Key usage violation in certificate has been detected

Subversion clients receive the following error message when attempting to connect to VisualSVN Server: svn: OPTIONS of 'https://server.domain.local/svn/repo': SSL handshake failed: SSL error:Key usage violation in certificate has been detected. (http

java-信息安全(十三)-数字签名,代码签名【Java证书体系实现】

概述 信息安全基本概念 前置 java-信息安全(十二)-数字签名[Java证书体系实现] 过程 通过工具JarSigner可以完成代码签名.  这里我们对tools.jar做代码签名,命令如下: 进入D盘下 jarsigner -storetype jks -keystore zlex.keystore -verbose tools.jar www.zlex.org 输出 输入密钥库的口令短语: 正在更新: META-INF/WWW_ZLEX.SF 正在更新: META-INF/WWW_ZLE

解决Linux下Svn检出Windows SVN服务器上项目SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

在Linux上检出windows SVN服务器上项目时出现了SSL handshake failed: SSL error: Key usage violation in certificate has been detected.的错误. 最后通过从网上检索找到了一个答案: 可以同时解决掉在Ubuntu上和CentOS上检出失败的问题. 在Windows注册表中加入注册项: 32位机器: [HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Serv

svn SSL 错误:Key usage violation in certificate has been detected

CentOS/RHEL yum 安装的 subversion 是 1.6.11 版本,连VisualSVN服务器时会有"Key usage violation"的错误 将subversion升级到最新版可解决该问题 1.添加源 vim /etc/yum.repos.d/wandisco-svn.repo [WandiscoSVN] name=Wandisco SVN Repo baseurl=http://opensource.wandisco.com/centos/$releasev

Openssl将crt证书和key私钥合成pfx证书

下载OpenSSL地址:http://slproweb.com/products/Win32OpenSSL.html 下载安装openssl 选择对应OpenSSL版本进行下载下载. 运行安装程序Win64OpenSSL_Light-1_1_0f.exe,将openssl安装到C:\OpenSSL-Win64. 安装完成后,可以在控制台运行如下指令,来测试是否安装成功. 进入到C:\OpenSSL-Win64\bin目录输入以下命令:openssl version 如果返回openssl版本号(

使用腾讯证书服务为Centos7+Apache申请颁发证书

说到证书我们大家都知道,证书可以提高数据加密传输,但是提到证书服务的供应商,相对比较多可以根据自己的需求来定,今天我们使用腾讯的云服务平台中的证书服务来为Centos7下的Apache服务申请及分配证书,现在的第三方证书服务都现在都简化了,无需提供csr文件即可生成证书及私钥文件,所以我们无需申请相关的csr证书申请文件了,还需要注意此次过程中,我们需要有自己有公网域名,因为在申请证书的时候需要验证.具体见下: 腾讯云服务地址:https://console.qcloud.com/ 我们首先需要