Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

客户端与证书无颁发对象CN的doh无法建立连接 #1887

Open
EarSum opened this issue Jan 2, 2025 · 4 comments
Open

客户端与证书无颁发对象CN的doh无法建立连接 #1887

EarSum opened this issue Jan 2, 2025 · 4 comments

Comments

@EarSum
Copy link

EarSum commented Jan 2, 2025

问题现象
客户端与证书无颁发对象CN的doh无法建立连接,重新签名携带颁发对象CN证书后正常

运行环境

  1. 固件型号
    Immortalwrt 23.04 stable

  2. 运营商
    China Telecom

  3. smartdns来源以及版本
    46-1

  4. 涉及的配置(注意去除个人相关信息)

重现步骤

  1. 上游DNS配置。
    现有两个doh,一个证书带颁发对象cn,一个不携带,如图所示
    屏幕截图 2025-01-02 110901
    image

使用证书不携带颁发对象cn的doh,smartdns会提示如下图报错
image
而使用证书携带颁发对象cn的doh,smartdns日志如下所示
image

并且后续联系doh提供商更换不携带颁发对象cn的证书至携带颁发对象cn的证书后也能正常使用。

本人尝试了下adgh和technitium dns似乎都能正常使用无颁发对象cn证书认证的doh,doh提供商说他们现在使用的证书大部分都是SAN证书,可能是引起此issue的原因,请问这个问题是否有后续修复的打算?

最后,本人对证书这块不是特别了解,如果说的什么地方有误请各位大佬轻喷,感激不尽。

信息收集

  1. 将/var/log/smrtdns.log日志作为附件上传(注意去除个人相关信息)。
  2. 如进程异常,请将coredump功能开启,上传coredump信息文件,同时上传配套的smartdns进程文件。
    在自定义界面,开启设置->自定义设置->生成coredump配置,重现问题后提交coredump文件
    coredump文件在/tmp目录下
@giveup
Copy link

giveup commented Jan 2, 2025

在DNS服务器的高级设置里面,有个停用校验的选项,试试能不能临时解决。
image

@PikuZheng
Copy link
Contributor

就我所知X509证书标准要求证书中必须有颁发对象。你需要看一下这个证书的主题。如果里面不包含 CN=域名 或 DNS=ip,那么它不能作为合法的服务器身份认证证书

@EarSum
Copy link
Author

EarSum commented Jan 2, 2025

在DNS服务器的高级设置里面,有个停用校验的选项,试试能不能临时解决。 image

感谢回复,我尝试过禁用证书验证但是依然会报错无法验证CN
image

@EarSum
Copy link
Author

EarSum commented Jan 2, 2025

就我所知X509证书标准要求证书中必须有颁发对象。你需要看一下这个证书的主题。如果里面不包含 CN=域名 或 DNS=ip,那么它不能作为合法的服务器身份认证证书

感谢回复,我观察了这个域名的证书,主题中确实没有CN=域名或DNS=ip信息。
image

但是在证书主题背景的备用名称中包含了关键-DNS 名称: hk.beta.xxx.xxx,我不知道该字段对于证书的验证是否有帮助。
image

而且使用technitium dns server内置的dns client app也能正常使用该doh,并不是想表示该工具比smartdns更好用,只是想说明似乎在其他的类似工具上该doh可以被正常使用,如果冒犯了您我感到抱歉。
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants