我遇到了一点问题。请耐心听我说,这可能是“没有问对问题”的情况。
背景:使用 Apple Mail。想要加密/解密电子邮件,但 Snow Leopard 不支持 GPGMail(显然还有 PGP)。
基本上,我需要创建一个 S/MIME 证书以用于电子邮件加密。我不需要也不关心证书颁发机构。我只想要一个快速而简单的证书。这是否可行(使用 OPENSSL 等)或者整个过程取决于更高机构是否强迫我要么设置一个全面的 CA,要么与一家公司(例如 Verisign、Thawte)打交道以获得证书?我的标准是即时满足,并且免费。
最好的。
答案1
是的,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 证书,这样您的加密电子邮件才会受到信任。安装过程会因所使用的每个邮件客户端而异。
就你的情况而言,你需要将 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 的手册页!
答案2
答案3
正如其他人所说,答案显然是肯定的。您可以通过 openssl 生成它,也可以使用提供免费 x509 电子邮件证书的提供商之一。
话虽如此,最重要的问题是:与您交换电子邮件的人使用什么?我活跃于自由软件社区,因此与我交换电子邮件的大多数人都使用 GPG。据我所知,唯一使用 S/MIME 的人是出于公司政策的原因在工作电子邮件中使用 S/MIME。
如果您发送电子邮件的人不使用 S/MIME,您将无法向他们加密,他们也将无法验证已签名的电子邮件。