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

Modified on: Wed, 27 Mar 2019 12:40:02 +0800

我在这里遇到了一些问题。请耐心等待,因为这可能是“没有问正确的问题”。

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

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

最佳。

最佳答案

是的,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

并按照提示进行操作。

您需要向加密电子邮件的每个收件人颁发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

并按照提示进行操作。

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

您的个人证书需要由您的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

输出是您签名的证书。

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

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

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

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

有一种更简单的方法

当然,一旦您创建了自己的CA,就可以更轻松地管理由您自己的证书颁发机构创建的证书。 openssl 附带一个名为...

的脚本

# /usr/lib/ssl/misc/CA.pl

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


相关问答

添加新评论