我可以为电子邮件加密创建自己的 S/MIME 证书吗?

hum*_*der 21 email encryption mac-osx certificate-authority osx-snow-leopard

我这里有点问题。容忍我,因为这可能是“没有提出正确的问题”的情况。

背景:使用 Apple Mail。想要加密/解密电子邮件,但雪豹不支持 GPGMail(显然是 PGP)。

基本上我需要创建一个用于电子邮件加密的 S/MIME 证书。我不想要,也不关心证书颁发机构。我只是想要一个快速而肮脏的证书。这甚至可能(使用 OPENSSL 等)还是整个过程取决于更高的权威,迫使我要么建立一个全面的 CA 要么与一家公司(例如 Verisign、Thawte)打交道以获得证书?我的标准是即时满足和免费。

最好的事物。

小智 24

是的,Apple Mail 不支持 GPG,这很糟糕。:-( 我希望这样做,因为我也更喜欢 GPG 加密的电子邮件。

我也同意有关 S/MIME 和生成您自己的电子邮件证书的信息很难获得。我发现Paul Bramscher 的网页对如何创建自己的证书颁发机构证书有很好的描述。

我不假装完全理解证书过程,但这是我能够拼凑起来的。您应该查阅 openssl 联机帮助页以获取有关下面显示的每个命令的更多详细信息。

创建证书颁发机构

第一步是创建您自己的证书颁发机构 (CA)。命令是……

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt
Run Code Online (Sandbox Code Playgroud)

并按照提示操作。

您需要向加密电子邮件的每个收件人颁发您的 CA 证书(即ca.crt的内容)。收件人必须安装并信任您的 CA 证书,以便信任您的加密电子邮件。安装将因使用的每个邮件客户端而异。

在您的情况下,您需要将您的 CA 证书添加到您的 Apple Keychain。网上有很多关于如何在 Apple Keychain 中导入和信任 CA 证书的帖子。

创建个人电子邮件证书请求

您现在需要创建一个证书请求。为您希望从中发送电子邮件的每个电子邮件地址创建一个。执行以下命令...

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr
Run Code Online (Sandbox Code Playgroud)

并按照提示操作。

证书颁发机构签署您的证书请求

您的个人证书需要由您的 CA 签署。在这种情况下,你!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout
Run Code Online (Sandbox Code Playgroud)

输出是您的签名证书。

准备您的证书以导入您的邮件应用程序

您需要将您的证书从.crt(我认为是 PEM 格式)转换为.p12(PCKS12 格式)。

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12
Run Code Online (Sandbox Code Playgroud)

您现在可以将*.p12*格式化的证书导入邮件客户端。在您的情况下,将*.p12*文件导入 Apple Keychain。正确安装证书后,Apple Mail 将开始使用您的证书。

有一个更简单的方法

当然,一旦您创建了自己的 CA,就有一种更简单的方法来管理您自己的证书颁发机构创建的证书。 openssl带有一个名为……的脚本。

# /usr/lib/ssl/misc/CA.pl
Run Code Online (Sandbox Code Playgroud)

这简化了成为您自己的证书颁发机构的过程。甚至还有一个 CA.pl 的手册页!

  • 我将 -CAKey 更改为 -CAkey。这是一个非常好的答案,但关于 GPG 的附带评论是没有根据的。S/MIME 比 GPG 有很多优点。除了更广泛的支持外,它还包括带有每个签名消息的证书,提供内置的证书分发机制。 (2认同)

And*_*gor 8

自由由CA签名:http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

  • 这似乎只是一项付费服务​​ - 上面的链接不提供免费证书。 (2认同)