1. 程式人生 > >雙證書體系key usage擴展——Outlook使用證書發送加密簽名郵件

雙證書體系key usage擴展——Outlook使用證書發送加密簽名郵件

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使用證書發送加密簽名郵件