我在这里有一个问题。 因为这可能是“不问正确的问题”的情况下忍受我。
背景:使用Apple Mail。 想要encryption/解密电子邮件,但雪豹不支持GPGMail(显然PGP)。
基本上我需要创build一个S / MIME证书用于电子邮件encryption。 我不想要,也不关心证书颁发机构。 我只是想要一个快速和肮脏的证书。 这甚至有可能(使用OPENSSL等),还是整个过程取决于更高的权威,迫使我要么build立一个全面的CA或与一个公司(如Verisign,Thawte)处理证书? 我的标准是即时满足,而且是免费的。
最好。
是的,它说苹果邮件不支持GPG。 :-(我希望这样做,因为我更喜欢GPGencryption的电子邮件。
我也同意围绕S / MIME和生成自己的电子邮件证书的信息很难得到。 我发现Paul Bramscher的网页对如何创build自己的证书颁发机构证书有很好的描述。
我不假装完全理解证书的过程,但这是我能够拼凑在一起的。 您应该参考openssl手册页获取关于下面显示的每个命令的更多详细信息。
第一步是创build您自己的authentication中心(CA)。 这些命令是…
# openssl genrsa -des3 -out ca.key 4096 # openssl req -new -x509 -days 365 -key ca.key -out ca.crt
并按照提示进行操作。
您需要向encryption电子邮件的每个收件人发放您的CA证书(即ca.crt的内容)。 收件人将不得不安装和信任您的CA证书,以便您的encryption电子邮件将被信任。 每个使用的邮件客户端的安装将有所不同。
在你的情况下,你需要将你的CA证书添加到你的Apple Keychain。 网上有很多关于如何导入和信任Apple Keychain中的CA证书的文章。
您现在需要创build一个证书请求。 为您希望发送电子邮件的每个电子邮件地址创build一个。 执行以下命令…
# 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将开始使用您的证书。
当然,一旦你创build了自己的CA,pipe理由你自己的证书颁发机构创build的证书就更简单了。 openssl带有一个名为…的脚本
# /usr/lib/ssl/misc/CA.pl
这简化了成为您自己的证书颁发机构的过程。 甚至有一个CA.pl的手册页!
免费并由CA签名: http : //www.instantssl.com/ssl-certificate-products/free-email-certificate.html
正如其他人所说,答案显然是肯定的。 您可以通过openssl生成它,或者您可以使用提供免费的x509电子邮件证书的提供商之一。
话虽如此,最重要的问题是:你交换电子邮件的人使用了什么? 我在自由软件社区非常活跃,所以我交换电子邮件的大多数人使用GPG。 我所知道的唯一一个使用S / MIME的工作电子邮件是作为公司政策的。
如果您通过电子邮件发送的人不使用S / MIME,则无法对其进行encryption,也无法validation签名的电子邮件。