emqx4.4.12配置crl_cache_urls后,emqx运行过程中报错

是自签名的证书,有什么问题么?

目前定位的问题是path validation failed 应该是跟证书链相关。
是否在证书链中的证书在已经在CRL 里吊销了?导致证书链不完整?

我还要需要点时间研究下具体原因。

好的 谢谢了 有消息了请通知下

ssl_handshake.beam.zip (146.6 KB)

我需要更多上下文。

  1. 请把这个patch 文件解压。

  2. 把解压后的 ssl_handshake.beam 放到emqx的 data/patches/ 目录。

  3. 运行下列命令热更新代码

    emqx eval 'shell_default:nl(ssl_handshake).'
    
  4. 重新尝试TLS 连接。

  5. 失败后把最新的emqx.log 上传给我们。注意 这次不是erlang.log

  6. 退回代码
    data/patches/ 目录删除 ssl_handshake.beam后 再次运行:

emqx eval 'shell_default:nl(ssl_handshake).'

emqx.log.3.zip (15.5 KB)
请查收

patch 没生效?

打上patch 后有没有做这一步?

做了

我再试一次

运行下

emqx eval 'ssl_handshake:module_info()'

把打印发给我下看下patch有没有生效

emqx.log.3.zip (28.5 KB)
请看看这个,又重新试了一次

这次对了谢谢!

问题是cert 里的
TBSCertList’.nextUpdate 值为空导致的。

我应该怎么处理?

是crl文件有问题么?

对 请检查crl 文件。

如果你有openssl,可以这样检查。

wget -O crl.der http://172.30.249.197:18006/certificate/downloadCrlFile &&
openssl crl -inform DER -in crl.der -text

找一下next update字段是否为空。

如果CRL 为测试文件,也可以上传上来。

emqx.conf里的crl_cache_refresh_interval 这个配置 和crl文件的Next Update有啥关系?

我这边把next update加上了,正常证书可以连上来。但是把证书吊销之后,吊销的证书也能连接上来,crl好像没有起作用。。。

重启emqx,crl才能生效

cache 缓存还没有更新。

是否等了缓存失效后重试的?

我配置的是crl_cache_refresh_interval = 1m
我过了几分钟之后再试的 没有生效,我看日志也看出来emqx是调用了获取crl的接口,但是吊销的证书还是可以连上来。
之后我又重启emqx之后才生效。。。。