Package org.jivesoftware.openfire.sasl
Class ExternalServerSaslServer
- java.lang.Object
-
- org.jivesoftware.openfire.sasl.ExternalServerSaslServer
-
- All Implemented Interfaces:
SaslServer
public class ExternalServerSaslServer extends Object implements SaslServer
Implementation of the SASL EXTERNAL mechanism with PKIX to be used for server-to-server connections.
-
-
Field Summary
Fields Modifier and Type Field Description static String
NAME
static SystemProperty<Boolean>
PROPERTY_SASL_EXTERNAL_SERVER_REQUIRE_AUTHZID
This property controls if the inbound connection is required to provide an authorization identity in the SASL EXTERNAL handshake (as part of an `auth` element).
-
Constructor Summary
Constructors Constructor Description ExternalServerSaslServer(LocalIncomingServerSession session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
byte[]
evaluateResponse(byte[] response)
String
getAuthorizationID()
String
getMechanismName()
Object
getNegotiatedProperty(String propName)
boolean
isComplete()
byte[]
unwrap(byte[] incoming, int offset, int len)
byte[]
wrap(byte[] outgoing, int offset, int len)
-
-
-
Field Detail
-
PROPERTY_SASL_EXTERNAL_SERVER_REQUIRE_AUTHZID
public static final SystemProperty<Boolean> PROPERTY_SASL_EXTERNAL_SERVER_REQUIRE_AUTHZID
This property controls if the inbound connection is required to provide an authorization identity in the SASL EXTERNAL handshake (as part of an `auth` element). In older XMPP specifications, it was not required to have a `from` attribute on the stream, making the authzid a required part of the handshake.- See Also:
- Issue OF-2639
-
NAME
public static final String NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ExternalServerSaslServer
public ExternalServerSaslServer(LocalIncomingServerSession session) throws SaslException
- Throws:
SaslException
-
-
Method Detail
-
getMechanismName
public String getMechanismName()
- Specified by:
getMechanismName
in interfaceSaslServer
-
evaluateResponse
public byte[] evaluateResponse(@Nonnull byte[] response) throws SaslException
- Specified by:
evaluateResponse
in interfaceSaslServer
- Throws:
SaslException
-
isComplete
public boolean isComplete()
- Specified by:
isComplete
in interfaceSaslServer
-
getAuthorizationID
public String getAuthorizationID()
- Specified by:
getAuthorizationID
in interfaceSaslServer
-
unwrap
public byte[] unwrap(byte[] incoming, int offset, int len) throws SaslException
- Specified by:
unwrap
in interfaceSaslServer
- Throws:
SaslException
-
wrap
public byte[] wrap(byte[] outgoing, int offset, int len) throws SaslException
- Specified by:
wrap
in interfaceSaslServer
- Throws:
SaslException
-
getNegotiatedProperty
public Object getNegotiatedProperty(String propName)
- Specified by:
getNegotiatedProperty
in interfaceSaslServer
-
dispose
public void dispose() throws SaslException
- Specified by:
dispose
in interfaceSaslServer
- Throws:
SaslException
-
-