我正在尝试使用公司为我颁发的自签名 SMIME 密钥与 Mutt 配合使用。但是,当我尝试将其导入时,smime_keys
出现了以下信息。
Couldn't identify root certificate!
No root and no intermediate certificates. Can't continue. at /usr/bin/smime_keys line 708.
smime_keys
我在 OSX 上使用最近使用 Homebrew 安装的 Mutt。有人知道强制接受我的自签名证书的方法吗?我可以将我公司使用的签名证书添加到某个权威的 Root CA 文件中吗?
##########
# UPDATE #
##########
好的,我可以smime_keys
通过首先添加我公司的根 CA 来接受我的自签名证书smime_keys add_root root-ca.cer
。但是现在,当我尝试解密一封加密的电子邮件时,Mutt 会要求我输入加密证书的密码,输入密码后,我收到一条消息,提示我输入了。Could not copy message
当我尝试从 Mutt 发送签名或加密的电子邮件时,输入证书密码后,我收到一条消息,提示我输入了证书的密码Can't open OpenSSL subprocess!: No such file or directory (errno = 2)
。
一些额外的信息 - 当我在调试模式下运行 Muttmutt -d 3
并尝试解密发送给我的加密电子邮件时,我看到以下内容.muttdebug0
。
Failed on attachment of type application/pkcs7-mime.
Bailing on attachment of type application/pkcs7-mime.
Could not copy message
有任何想法吗?
答案1
好吧,我终于搞清楚我到底做错了什么。归根结底是因为我没有找到 smime.rc 文件,这样 Mutt 才知道在尝试签名/验证和加密/解密消息时要使用哪些 OpenSSL 命令。
顺便说一句,以防这对任何人都有用,我还想出了如何确保当我在已发送文件夹中查看我发送给其他人的加密电子邮件时,我可以阅读这些加密电子邮件。
在 smime.rc 中,更新smime_encrypt_command
以将您的公共加密证书附加到 openssl 命令的末尾。例如:
set smime_encrypt_command="openssl smime -encrypt -%a -outform DER -in %f %c ~/.smime/certificates/123456789.0"
其中证书 123456789.0 是用于 S/MIME 加密的公共证书。为了补充说明,%a
是使用哪种加密方法的变量,%f
是要加密的电子邮件文本的变量,%c
是电子邮件收件人的变量。