私は現在、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 -> certificate" が "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)
なぜ証明書がnullなのか、誰でも説明できますか?
ありがとう、ロムンゴ