我目前正在研究 HiveMQ 插件开发。我基于 AfterLoginCallback 开发了自定义功能。我配置了一个有效的 TLS 连接,并且能够连接到客户端证书。
mosquitto_pub.exe -t test -m "testMessage" --cafile myCertificates/hivemq-server-cert.pem --cert myCertificates/sender.crt --key myCertificates/sender.key -p 8883"
但是,当我调试 AfterLoginCallback 代码时,我发现我的“ClientData -> 证书”为“null”,在访问时会抛出 IllegalStateExcpetion。
[INFO] java.lang.IllegalStateException: Optional.get() cannot be called on an absent value
[INFO] at com.google.common.base.Absent.get(Unknown Source)
[INFO] at mycode.hivemq.plugins.first_plugin.callbacks.AfterLoginCallbackTest.afterSuccessfulLogin(AfterLoginCallbackTest.java:33)
谁能解释一下,为什么证书为空?
谢谢,洛蒙戈