在 OS X 上为 S/MIME 配置 mutt

jan*_*den 7 mutt macos

我使用以下方法导出了我的 CA 链(德国电信 > DFN > Uni Koeln)

smime_keys add_root CertName.cer

从我的钥匙串导出相关证书后。但是当我使用 Uni Koeln 导入我的个人证书时

smime_keys add_p12 MyCertName.p12

出现以下错误

无法识别根证书!
没有根证书,也没有中间证书。无法继续。在 /usr/local/bin/smime_keys 第 669 行。

尽管导入的根证书存在于 ~/.smime/ca-bundle.crt 中,并且 .muttrc 指向该文件以获得受信任的证书。

这里发生了什么?

jan*_*den 4

我的问题与苹果的钥匙串访问应用程序有关。

如果在 Safari 中创建证书请求,私钥将存储在 OS X 登录钥匙串中。随后可以使用 Safari 将公钥下载为名为 的文件pki,并使用 Keychain Access 将其导入到登录钥匙串中。导出证书时,证书链(CA、中间 CA、根 CA)不包含在 PKCS#12 文件中(这会导致错误消息)。当然,您可以手动导出证书链的所有元素并使用 OpenSSL 等合并它们。

但在 Firefox 中创建证书请求并从此浏览器导出(“备份”)完整证书要容易得多。smime_keys可以毫不费力地导入来自 Firefox 的 PKCS#12 文件。

摘要:我创建了~/.smime一些受信任的 CA 证书并将其复制到此目录 ( ~/.smime/ca-bundle.crt)。要导入我的个人证书,我执行了smime_keys add_p12 cert.p12,然后添加了以下行

set smime_is_default
set smime_default_key="foobar"
Run Code Online (Sandbox Code Playgroud)

到 my ~/.muttrc,其中“foobar”是 为我的个人证书返回的密钥 ID smime_keys list