S/MIME电子邮件加密#

先决条件#

目前有两种广泛使用的电子邮件加密标准。

  • OpenPGP/GnuPG在个人中很受欢迎。

  • S/MIME/X.509大多被企业使用。

如果你对选择哪一种有疑问,你应该使用OpenPGP,见`这里<openpgp.html>`_。本页介绍了S/MIME电子邮件加密的用法。

你需要购买一个S/MIME证书(例如在`CERTUM<https://www.certum.eu/en/cert_offer_cert_id/>`__)或可能已经由你的公司得到了一个。此外,你需要在你的系统上安装`OpenSC<https://github.com/OpenSC/OpenSC/wiki>`__。GNU/Linux用户通常可以通过软件包管理器安装OpenSC(例如Ubuntu上的``sudo apt install opensc``),macOS和Windows用户可以从`OpenSC<https://github.com/OpenSC/OpenSC/releases>`__页面下载安装文件。

导入现有的密钥和证书#

下面的说明是基于OpenSC的`wiki <https://github.com/OpenSC/OpenSC/wiki/OpenPGP-card>`__。我们将假设你已经得到了一个作为.p12文件的密钥-证书对。如果你有一个单独的密钥和证书文件,请看一下wiki页面。

要打开Windows命令行,请按下Windows键和R键。现在在文本字段中输入 “cmd.exe “并点击回车。要在macOS或GNU/Linux上打开终端,请使用应用程序搜索(例如macOS的spotlight)。

为了使这些命令尽可能简单,.p12文件需要放在你的主文件夹中。在Windows系统中,这通常是``C:Usersyourusername``,在macOS和GNU/Linux系统中,它将是``/home/yourusername``。如果你没有把.p12文件存放在那里,你必须调整下面的命令中的路径。在提交命令之前,请插入Nitrokey。

假设你的密钥证书文件是 “myprivate.p12”,Windows的命令看起来像这样。

"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs15-init" --delete-objects privkey,pubkey --id 3 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs15-init" --delete-objects privkey,pubkey --id 2 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin

而在macOS和GNU/Linux上,它将是

$ pkcs15-init --delete-objects privkey,pubkey --id 3 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin
$ pkcs15-init --delete-objects privkey,pubkey --id 2 --store-private-key myprivate.p12 --format pkcs12 --auth-id 3 --verify-pin

这两条命令将密钥-证书对复制到槽2(解密邮件需要)和槽3(签名需要)。在两个系统上的输出看起来都是这样的。

img1

请注意,会有一些可以安全忽略的错误信息(见上面的输出例子)。现在你已经在Nitrokey上加载了钥匙-证书对。

使用方法#

你可以在这些网页上找到有关使用的进一步信息。