diff --git a/broker-core/src/main/java/org/eclipse/kapua/broker/core/plugin/KapuaConnectionContext.java b/broker-core/src/main/java/org/eclipse/kapua/broker/core/plugin/KapuaConnectionContext.java index 3d0a3918fb7..fc6e869d6e6 100644 --- a/broker-core/src/main/java/org/eclipse/kapua/broker/core/plugin/KapuaConnectionContext.java +++ b/broker-core/src/main/java/org/eclipse/kapua/broker/core/plugin/KapuaConnectionContext.java @@ -19,6 +19,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.security.cert.Certificate; import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; @@ -47,6 +48,7 @@ public class KapuaConnectionContext { private ConnectorDescriptor connectorDescriptor; private boolean[] hasPermissions; private String brokerIpOrHostName; + private Certificate[] clientCertificates; // use to track the allowed destinations for debug purpose private List authDestinations; @@ -64,6 +66,9 @@ public KapuaConnectionContext(String brokerId, ConnectionInfo info) { clientId = info.getClientId(); clientIp = info.getClientIp(); connectionId = info.getConnectionId().getValue(); + if(info.getTransportContext() instanceof Certificate[]) { + clientCertificates = (Certificate[]) info.getTransportContext(); + } } public KapuaConnectionContext(String brokerId, KapuaPrincipal kapuaPrincipal, ConnectionInfo info, String fullClientIdPattern) { @@ -125,6 +130,10 @@ public String getBrokerId() { return brokerId; } + public Certificate[] getClientCertificates() { + return clientCertificates; + } + public String getUserName() { return userName; }