IEC 62351-3 要求双向认证也就是服务端和客户端都得亮出证书。这条测的是客户端耍赖握手过程中干脆一张证书都不提供。设备要报Alarm: certificate unavailable然后关连接。场景本身很直接但实现上有个容易疏忽的地方。TLS 握手里服务器发了 CertificateRequest 之后客户端可以选择回一个空的 Certificate 消息。协议上这是合法的服务器必须自己检查该来的证书没来然后按违规处理。如果设备的 TLS 库默认配置里没有SSL_VERIFY_FAIL_IF_NO_PEER_CERT它会放这个连接过去那就错了。服务端配置关键是这一行SSL_CTX_set_verify(ctx,SSL_VERIFY_PEER|SSL_VERIFY_FAIL_IF_NO_PEER_CERT,NULL);SSL_VERIFY_PEER是要求对端出示证书SSL_VERIFY_FAIL_IF_NO_PEER_CERT才是没出示就失败。少了后面这个标志客户端不给证书也能握手成功这条测例就白测了。客户端怎么不给证书最简单命令里不带-cert和-key就行openssl s_client-connect127.0.0.1:19998-tls1_2-CAfileca.crt基线还是先带证书连一次确认环境是通的。判定检查项通过标准基线带证书成功不带证书握手失败安全事件Alarm: certificate unavailable连接设备主动关闭和 6.3.28 是一对6.3.28 是这条的重协商版本第一次握手时正常给证书等到重协商时再把证书清空。两条一起测能看出设备在初始握手和重协商两个阶段有没有都做证书必须存在的检查。有的实现只在初始握手时检查重协商时就放水了只测 6.3.9 是看不出来的。