我收到S/哑剧签名的电子邮件。此电子邮件的签名由此权威机构颁发的证书生成: Sectigo RSA客户端身份验证和安全电子邮件CA到期日期01.01.2031 09c0f2fc0bda94db5ff5ff2ff2bdfa89942cfc9e0ad00上述证书由根授权颁发,由Thunderbird信任。USERTrust RSA证书颁发机构有效期19.01.2038 5379bf5aa2b4acf5480e1d89bc09df2b20366cb
雷鸟和其他电子邮件客户端无法验证此电子邮件签名。如果我打开相同的电子邮件使用雷鸟在窗口,一切都好。
我下载一个中级证书。然后导入该证书而不信任它(信任复选框未选中)。然后,该电子邮件签名可以验证。
为什么在Ubuntu中不像在Windows中那样自动下载中间证书?
这种方式添加中间证书是安全的吗?对我来说,这似乎是一种安全的方法,因为我自己不给证书一个信任(取消选中信任复选框),但是中间证书由Ubuntu安装的根证书进行验证。
发布于 2023-03-15 16:03:47
这是因为OpenSSL本身并不试图获取中间证书,但是许多软件预计会这样做。
据我理解,这是因为许多甚至大多数Ubuntu应用程序都依赖OpenSSL来验证证书。问题在于,OpenSSL本身并不获取任何证书,它只是依赖于受信任证书的本地集合,该集合只包含(或主要是)根CA证书,或者至少希望调用方提供整个链。
OpenSSL开发人员认为,获取附加证书不是OpenSSL的责任,必须由应用程序本身来完成。见本期。
值得注意的是,以前的RFC5246覆盖了TLS 1.2,现在已经过时,它要求服务器必须发送整个证书链(7.4.2):
这是一个证书序列(链)。发件人的证书必须放在列表的第一位。以下每一份证书必须直接证明其前面的证书。
但是更新的RFC8446放松了这一点(4.4.2)。特别是,它说:
为了达到最大的兼容性,所有实现都应该准备好处理来自任何TLS版本的潜在无关证书和任意命令。
因此,据我对这个RFC,特别是“实现”一词的理解,OpenSSL应该能够处理无关的证书,但它不是。
https://askubuntu.com/questions/1443979
复制相似问题