鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

导入非法证书,OCKD进程启动时出现coredump

问题现象描述

开启ZooKeeper安全特性时,在启动OCKD进程时出现如图1所示的core dump错误信息。

图1 返回信息

使用gdb打开对应core dump文件查看堆栈信息显示为ZooKeeper Client调用OpenSSL库的证书校验函数错误,如图2所示。

图2 证书校验函数错误信息

关键过程、根本原因分析

由于开源组件ZooKeeper Client自身的实现机制,在处理无效证书时,可能导致进程出现core dump错误。

结论、解决方案及效果

开启ZooKeeper安全特性时,如果使用的ZK相关证书非法,OCKD与ZooKeeper的建链就会失败,启动OCKD进程也会失败。由于OmniShuffle特性只做了证书有效期的校验,不能拦截所有的异常证书,因此无法完全避免将非法证书传递给ZooKeeper Client去处理的情况。因为证书不是本特性提供,如果出现了上述情况,请用户先检查证书的合法性,再使用ZooKeeper安全特性。

常见的证书异常类型,包括但不限于以下场景:

  • 证书密钥用法扩展不符合X.509v3。
  • 根证书和本地证书对应的颁发者信息无效。
  • 证书签名字段失效。
  • Common Name字段失效。
  • 多级证书认证,中间一级缺失。
  • 证书已过有效期。