我有多个服务器通过webDAV共享文件。连接使用TLS和所有服务器上相同的通配符证书进行保护。我有不同的子域指向各自的服务器。但是我不能让davfs2接受我的外卡证书,它一直在抱怨:/sbin/mount.davfs: the server certificate does not match the server name
例如,我有:
ServerA.mydomain.com ServerB.mydomain.com
都有涵盖*.mydomain.com的证书和mydomain.com的SAN证书。
当然,如果我将mydomain.com用于webDAV,一切都可以正常工作,因为证书中已经显式地涵盖了这一功能。
我可以将我的所有子域作为SAN添加到证书中,但是我不能每次打开机器(或者删除一台)时都重新颁发证书。
那么,是否有办法使davfs2接受通配符证书?
发布于 2014-08-13 10:23:01
事实上,这个问题与webDAV如何处理外卡无关,而是与如何处理X509证书扩展有关。
事实证明,Subject Alternative Name是用词不当的,根据RFC 5280 (第4.2节)的说法,应用程序必须拒绝它不识别的任何扩展,如果它们被标记为关键(如果它们被标记为非关键,它们可能会被忽略),但是如果应用程序识别一个扩展,则必须使用它。
这意味着,当webDAV遇到一个SubjectAltName时,它只根据服务器名来检查它。我的外国名被完全忽略了。主题替代名称不提供替代名称或附加名称,它必须提供所有标识名称。
因此,把所有的域名,包括外卡进入SAN。
https://askubuntu.com/questions/501173
复制相似问题