2012-05-06 33 views
1

我终于用Heirloom mailx设置了一个Comodo S/MIME证书。使用Thunderbird进行测试我能够接收签名(甚至加密)的消息,而不会有任何错误或警告。但是,如果我用的传家宝的mailx作为接收客户端,我得到以下几点:传家宝mailx不验证自己的S/MIME签名的消息?

? verif                   
Message 1: Error with certificate at depth: 0 
issuer = /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO Client Authentication and Secure Email CA 
subject = /[email protected] 
err 20: unable to get local issuer certificate 
Error verifying message 1: error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error 

任何想法?还有一件事:当我从Thunderbird发送相同的签名邮件到mailx时,这个错误不存在,只有从mailx到mailx(相同/不同的机器)。

谢谢!

编辑:以防万一,这里是我的.mailrc文件:

set [email protected] 
set smime-sign-cert=/home/user/cert.pem 
set smime-sign 

回答

2

你得到的错误 - unable to find local issuer certiicate - 通常意味着潜在的OpenSSL库找不到证书颁发机构证书被用来签署您的S/MIME证书。特别是,Thunderbird拥有自己的有效证书颁发机构列表,可能比本地系统默认提供的内容更全面。

smime-ca-dirsmime-ca-file指令可用于指向mailx在适当的CA证书。

+0

谢谢larsks。然而,我不明白的是,当我通过mailx收到Thunderbird发送的签名邮件时,它会验证!这怎么会发生?看起来我的版本的mailx确实知道Comodo。无论如何,我试着将'smime-ca-file'指向一个包含'----- BEGIN CERTIFICATE -----'和'----- END CERTIFICATE -----之间的所有内容的文件证书,无济于事。 –

+1

记住'smime-ca-file'应该指向Comodo CA证书,而不是* your *证书。 – larsks

+0

好吧,我试过了,很不幸没有这样做。但我的观点是,即使没有它,它也能成功验证其他客户端发送的“Comodo签名”消息。直观地看来,在撰写消息时,存在一个问题。顺便说一下,你会推荐一个来自http://goo.gl/qWGJ4的特定Comodo CA Certifcate吗?我去了“[新] InstantSSL CA捆绑”,但没有尝试所有。再次感谢! –