[S/MIME] Actalis Free S/MIME Certificates 与邮件签名/加密证书与 Outlook

广告

  前情提要:https://idc.moe/archives/kurito-for-ssl.html
  
  说到数字证书,常见的除了有 SSL(Secure Sockets Layer,安全套接层)证书外,还有 Code Signing(代码签名)证书、Document Signing(文件签名)证书和邮件证书(S/MIME)。SSL 证书通常用于加密互联网连接,而代码签名和文档签名证书则多用于身份识别和认证,S/MIME 则均具两者之间的功能——为邮件签名,同时可以选择使用证书加密邮件。笔者将在本文介绍一下目前几乎是唯一一款免费的电子邮件加密证书——Actalis Free S/MIME Certificates 及电子邮件证书的详细使用。

Actalis Free S/MIME Certificates 简介

  ACTALIS S.p.A. Sole Shareholder Limited Company (以下简称 Actalis 公司或 Actalis)是一家拥有 WebTrust 认证的顶级证书颁发机构(Root CA),是欧洲主要的 SSL CA 和 CA/Browser 论坛唯一一位来自意大利的会员。
  Actalis 目前有两条产品线,分别为 SSL 证书和 S/MIME 证书,SSL 不再赘述(他家的直销价格比较贵,建议去 www.kurito.net 买骨折价);本文的重点在他家的 S/MIME 证书上。Actalis 签发两类 S/MIME 证书,分别为企业级 S/MIME 证书(Corporate S/MIME Certificates)和免费 S/MIME 证书(Free S/MIME Certificates)。其中,企业级证书需要公司统一提供身份证明和电子邮件地址,由 Actalis 审核后签发,最长有效期为三年;个人证书是免费开放申请的,有效期为一年整。
  目前,诸如 DigiCert 和 Sectigo 都有开放过免费或仅收一元的个人邮件证书,但绝大多数有效期仅为三个月——甚至还有一个月的“试用版”。基于 S/MIME 实现加密并让收件人成功解密这一过程的复杂性,笔者并不建议将三个月的邮件证书用在上产环境——每个季度都要发邮件通知收件人“我更新了邮件加密证书”显然不够专业和安全。

Actalis Free S/MIME Certificates 申请

  访问申请链接 https://extrassl.actalis.it/portal/uapub/freemail (服务器在 Actalis 的老家意大利,众所周知,国内网络对意大利的服务器不是很友好,建议耐心地等几分钟)

Actalis-Free-Email-Certificate-Apply-Page

  在第一个输入框内填上你的电子邮件地址,并单击下方的“Send Verification Email”按钮,静待验证邮件发送到你的邮箱中。

Actalis-Free-Email-Certificate-Apply-2

  验证邮件由意大利语和英语两种语言写成,大意是“为了确定电子邮件的有效性,我们给您发送了这封邮件,下方附带了验证码,希望您能按照操作继续这一过程”云云,见下图:(token 和 code 均已经过处理)

Actalis-Free-Email-Certificate-Apply-VerificationCode

  回到 Actalis Free Email Certificate 申请页面,将刚刚从邮件中获得的 Verification code 填入对应的文本框中,依次单击下方的 Google reCAPTCHA 认证块进行人机验证,勾选下方三个复选框(分别表示“我声明已阅读并接受上述条款和条件,包括适用的证书政策。”“我声明已仔细阅读并明确接受上述特定条款。”“我声明已阅读由Actalis根据欧洲联盟2016/679号条例(“GDPR”)第13条提供的上述隐私信息,并同意出于指定目的和方式处理个人数据。我还声明并知道,在不同意这种处理的情况下,可以使用上述信息中指明的规定。”),最后两道“选择题”属于对方征求向您发送商业营销邮件许可,笔者就不过多解释,请诸位看官随意选择。一切选择题都做完之后,单击下方的“Submit request”按钮:

Actalis-Free-Email-Certificate-Apply-info

  一切准确无误后,页面将跳转到“申请成功”界面,您的证书密码将显示在网页上(注意,此密码仅在此页面显示一次,务必妥善保管密码),单击下方的“PRINT”可以调出浏览器的打印窗口方便将此页打印保存。

Actalis-Free-Email-Certificate-Apply-Password

  与此同时,PFX(Personal inFormation eXchange,个人信息交换)格式的证书文件将作为附件发送至申请证书的邮箱中。

Actalis-Free-Email-Certificate-Apply-Cert1

Actalis-Free-Email-Certificate-Apply-Cert2

S/MIME 在 Outlook 上的使用

  Outlook Web App(即 Outlook 网页版)支持使用 S/MIME 签署或加密发送邮件,但需要 Microsoft Edge 或 Google Chrome 安装相关扩展程序(即“插件”)支持;安装这些扩展程序需要用到浏览器策略 ExtensionInstallForcelist,而此项策略仅在当前计算机加入了域或 Microsoft Azure AD 是才会生效,到头来还得把自己的电脑“上云”……着实痛苦。笔者折腾一下午无果,由是放弃在 Outlook Web App 上发送签名或加密邮件。

Actalis-Free-Email-Certificate-MSOffice-Outlook

  下面来具体说 Microsoft Office Outlook(Outlook 客户端)如何使用 S/MIME 证书为邮件签名和加密。
  首先,你必须安装了 Office 专业版或以上才能够使用 Office Outlook 客户端。没有的话,蓝点网 Office Tool Plus 可以一键卸载、一键安装、一键 KMS 激活(有桌面版 Office 订阅的可以直接登录激活)。
  配置 Outlook 客户端的相关操作多如牛毛,在此不表。

  此处插段科普:

  1. 一般的,S/MIME 证书用于对邮件进行“签署”或“加密”,“签署”指不使用证书私钥对邮件内容进行加密、仅将自己的证书公钥附在邮件上以证明自己身份的行为,如是发出的邮件由于是明文,可被收件人直接解读;“加密”指使用收件人的证书公钥对邮件进行加密,如是发出的邮件为密文,收件人需要使用自己的证书私钥钥对邮件进行解密;
  2. 邮件的签署和加密为互不对立、互不包含的两项操作,换句话说可以“签署但不加密”、可以“加密但不签署”(不建议如此),也可以“签署并加密”;同一封邮件中,发件人可以使用相同或不同的证书进行“签署”和“加密”;
  3. “签署但不加密”的邮件发到收件人手中时,收件人即拥有了发件人的证书公钥;“签署并加密”的邮件到达收件人手中时,收件人必须使用已经自己的证书私钥钥才能解密邮件;换句话说,发件人必须预先向收件人发送过一封“签署但不加密”的邮件,确保收件人保存发件人的证书公钥后再发送“签署并加密”的邮件,才能保证收件人能够成功解密已加密的邮件。

  此处笔者以发件人 i@iksi.me 和收件人 z@idc.moe 建立加密邮件通信为例,演示 Outlook 客户端使用 S/MIME 签署和加密邮件的功能。
  双击前文所提到的 Actalis 签发的 S/MIME 证书,进入 Windows 证书导入向导。无脑快进到下一步,输入 Actalis Free Email Certificate “申请成功”界面显示的密码,下一步选择“将所有的证书都放入下列存储(P)”——“个人”并继续加速(下一步)直至完成。

Actalis-Free-Email-Certificate-Setup1

  打开 Outlook 客户端,依次单击“文件(左上角)”“选项(左下角)”“信任中心(对话框左边底部)”“信任中心设置”“电子邮件安全性”“设置”,并在弹出的对话框中设置上一步导入的数字证书,依次单击各级对话框的“确定”以保存所做的更改:

Actalis-Free-Email-Certificate-OutlookSetting

发件人与收件人初次通信

  由于发件人和收件人均没有对方的证书公钥,因此需要初次通信互相发送“签署但不加密”的邮件以互相交换证书公钥,为以后的加密通信创造条件。
  转到 Outlook 客户端主界面,单击左上角的“新建电子邮件”按钮,开始写邮件,收件人为 z@idc.moe,接着便是一些必要的信息。

Actalis-Free-Email-Certificate-OutlookMailSend1

  单击导航栏“选项”选项卡,在下方飘过的一组功能里选中“签署”(注意,目前为初次通信,请勿选择“签署”左边的“加密”

Actalis-Free-Email-Certificate-OutlookMailSend2

  一切就绪,发送之。数秒后,收件人 z@idc.moe 已收到。邮件标题后面跟有“数字签名”的标志。

Actalis-Free-Email-Certificate-OutlookMailin

收件人向原发件人传递自己的证书公钥

  使用 z@idc.moe 向 i@iksi.me 回复一封“签署但不加密”的邮件。数秒后,i@iksi.me 已收到。右方有“已签名”的标记。

Actalis-Free-Email-Certificate-OutlookMailin2

发件人保存收件人证书公钥(将收件人及其证书公钥添加至通讯录)

  双击目前的发件人 z@idc.moe 头像左上的电子邮件地址不要双击头像),弹出名片,单击电子邮件地址下方、“发送电子邮件”右方的三个点,选择“添加到联系人(A)”:

Actalis-Free-Email-Certificate-OutlookContect1

  弹出的窗口会列出联系人信息,单击上方导航栏的“证书”,确定对方的证书存在后,单击左上角的“保存并关闭”:

Actalis-Free-Email-Certificate-OutlookContect2

发件人向收件人发送加密邮件

  再次新建电子邮件,在选择“收件人”时直接单击“收件人(T)”按钮,在弹出的窗口中找到 z@idc.moe,双击之,使窗口下方“收件人”一栏里出现联系人名称,单击下方的“确定”:

Actalis-Free-Email-Certificate-OutlookSend5

  单击导航栏“选项”选项卡,在下方飘过的一组功能里选中“签署”和“加密”(此时可以向收件人 z@idc.moe 发送使用 S/MIME 证书加密过的邮件了):

Actalis-Free-Email-Certificate-OutlookSend6

  数十秒后,收件人 z@idc.moe 收到了加密邮件。右方有“已加密”的标记。

Actalis-Free-Email-Certificate-Outlookin7

S/MIME 在 Magic WinMail 上的使用

  首先感谢鹏老板赞助的 Magic WinMail 邮局,@idc.moe 邮件服务运行于其上。
  由于前文的描述细节较为完整,在此仅粗略地叙述一下 Magic WinMail 与 Outlook 在 S/MIME 方面的区别:
  Magic WinMail 只认可证书 Subject 的 emailAdress 字段与邮箱地址匹配,而目前根据 RFC 5751 的定义,S/MIME 证书由证书增强型密钥用法 1.3.6.1.5.5.7.3.4 标识和控制,电子邮件地址将作为 commonName 写在证书中,故包括 Actalis Free S/MIME Certificates 在内的 S/MIME 证书均无法成功导入 Magic WinMail,即无法使用上述受影响的证书发件和解密收件。
  纵然如此,使用自签名证书依旧可以使 Magic WinMail 实现签署和加密邮件。

Magic WinMail 自签名证书

  单击 Magic WinMail 左上角九宫格状按钮,在弹出的 Tab 中选择“配置箱”,选择左侧的“证书管理”,“我的证书”右边的“+”,在右边填入相应信息后单击“保存”按钮,完成自签名证书的签发:

Actalis-Free-Email-Certificate-WinMail-selfsign

Magic WinMail 签名邮件

  单击 Magic WinMail 的“写邮件”按钮,填写收件人、邮件主题和邮件内容后勾选右边的“数字签名”,发送之。

Actalis-Free-Email-Certificate-WinMail-sendcert

  数秒后,收件人在 Outlook 收到邮件(由于使用自签名证书签署邮件,此信大概率被投入垃圾箱)。参见上文“将收件人及其证书公钥添加至通讯录”的操作。

Magic WinMail 发送加密邮件

  单击 Magic WinMail 左上角九宫格状按钮,在弹出的 Tab 中选择“配置箱”,选择左侧的“证书管理”,“其他人的证书”右边的“上传”,在右边选择上传的证书文件后单击“导入”按钮,完成收件人证书公钥的导入:

Actalis-Free-Email-Certificate-WinMail-certin

  单击 Magic WinMail 的“写邮件”按钮,填写收件人、邮件主题和邮件内容后勾选右边的“数字签名”和“邮件加密”,发送之。

Actalis-Free-Email-Certificate-WinMail-sendencr

  仍然提示“以下地址没有 SSL 证书,不能发送加密邮件!”暂无解决办法。

Actalis-Free-Email-Certificate-WinMail-certerror

  终。

参考来源

原创文章,作者:iks,如若转载,请注明出处:https://idc.moe/archives/actalis-free-smime-cert.html
-- 展开阅读全文 --
[CrastarCloud] 深港IEPL/广港IPLC/沪日IPLC测评
« 上一篇 01-01
[UOVZ] 四川电信CN2精品网
下一篇 » 01-07
广告

发表评论

已有 7 条评论

  1. AS6939Lv.1 说道:
    2021-01-20 05:35     Win 10 /    Chrome

    上面写:
    “加密”指使用证书私钥对邮件进行加密,如是发出的邮件为密文,收件人需要使用发件人的证书公钥对邮件进行解密;

    并非这样。因为公钥是公开的!
    如果按照你的解释,所有人都可以对你的邮件解密,这个加密没有任何意义。
    事实上加密指的是你公开公钥,别人给你发邮件用你的公钥加密,收到后你可以通过你的私钥解密。因为私钥不公开,所以除了你之外没人能解密。

    1. iksVLv.1 说道:
      2021-01-22 15:39     Win 10 /    Chrome

      @AS6939

      已确定问题并修改,多谢指教!
      (我的回复是不是直接到达了飓风(x

      1. AS6939Lv.1 说道:
        2021-01-23 11:12     Win 10 /    Chrome

        @iks

        并不是哈哈,不过如果你告诉我你ASN的话可以peer或者给你提供transit或者出租IPv4/6。
        邮件证书现在用的很少了,毕竟PGP签名加密邮件更省事。以前PGP不能用在附件上,但现在有PGP/MIME了可以直接直接搞。
        和PGP一样,邮件证书开始并不需要先发邮件告诉对方公钥。完全可以把公钥贴在自己网站上让别人下载,然后对方发送的时候直接用公钥加密。
        最后问下,有什么能白嫖的代码签名证书不?

        1. AnonymousLv.1 说道:
          2021-01-23 11:46     Win 10 /    Chrome

          @AS6939

          感觉在想桃子(逃
          不过也不是没办法。根据CAB规范§9.2.4,代码签名必须企业认证。下面俩办法你可以试试

          加入一个非营利组织;有的CA大发慈悲给非营利组织免费签加入一个订阅InCommon的大学,然后找学校IT给你免费发一个加入一个和CA有合同的企业(比如有CA中级证书和自己的PKI),白嫖企业一个 (Sectigo在这方面是行家,不少企业中级CA都是他家发的

          第二和第三个还能发EV证书;除了代码还能发邮件和WEB
          (虽然我觉得这仨实现可能性都很低 orz
          -----假装分割线-----
          博主能不能开个页面让有自己CA的交叉签名?尽量拓宽大家个人根证书的信任范围?

        2. iksVLv.1 说道:
          2021-01-23 11:31     Win 10 /    Chrome

          @AS6939

          我没有AS,代码签名证书可以找 Captain py

    2. 海马Lv.1 说道:
      2021-01-20 17:32     Linux /    Chrome

      @AS6939

      正解(我还纳闷总感觉哪里不对劲)

    3. nyarimeVLv.1 说道:
      2021-01-20 13:23     iPhone /    Safari

      @AS6939

      感谢纠正

作者信息

广告

热门文章

广告

标签TAG

热评文章