Search in sources :

Example 1 with SaslNegotiator

use of org.apache.qpid.server.security.auth.sasl.SaslNegotiator in project qpid-broker-j by apache.

the class AnonymousAuthenticationManagerTest method testCreateSaslNegotiator.

public void testCreateSaslNegotiator() throws Exception {
    SaslNegotiator negotiator = _manager.createSaslNegotiator("ANONYMOUS", null, null);
    assertNotNull("Could not create SASL negotiator for mechanism 'ANONYMOUS'", negotiator);
    negotiator = _manager.createSaslNegotiator("PLAIN", null, null);
    assertNull("Should not be able to create SASL negotiator for mechanism 'PLAIN'", negotiator);
}
Also used : SaslNegotiator(org.apache.qpid.server.security.auth.sasl.SaslNegotiator)

Example 2 with SaslNegotiator

use of org.apache.qpid.server.security.auth.sasl.SaslNegotiator in project qpid-broker-j by apache.

the class ExternalAuthenticationManagerTest method testFullDNMode_Authenticate.

public void testFullDNMode_Authenticate() throws Exception {
    X500Principal principal = new X500Principal("CN=person, DC=example, DC=com");
    when(_saslSettings.getExternalPrincipal()).thenReturn(principal);
    SaslNegotiator negotiator = _managerUsingFullDN.createSaslNegotiator("EXTERNAL", _saslSettings, null);
    AuthenticationResult result = negotiator.handleResponse(new byte[0]);
    assertNotNull(result);
    assertEquals("Expected authentication to be successful", AuthenticationResult.AuthenticationStatus.SUCCESS, result.getStatus());
    assertOnlyContainsWrapped(principal, result.getPrincipals());
    assertEquals("CN=person,DC=example,DC=com", result.getMainPrincipal().getName());
}
Also used : X500Principal(javax.security.auth.x500.X500Principal) SaslNegotiator(org.apache.qpid.server.security.auth.sasl.SaslNegotiator) AuthenticationResult(org.apache.qpid.server.security.auth.AuthenticationResult)

Example 3 with SaslNegotiator

use of org.apache.qpid.server.security.auth.sasl.SaslNegotiator in project qpid-broker-j by apache.

the class ExternalAuthenticationManagerTest method createSaslNegotiatorTestImpl.

private void createSaslNegotiatorTestImpl(AuthenticationProvider<?> manager) throws Exception {
    SaslNegotiator negotiator = manager.createSaslNegotiator("EXTERNAL", _saslSettings, null);
    assertNotNull("Could not create SASL negotiator for 'EXTERNAL' mechanism.", negotiator);
    negotiator = manager.createSaslNegotiator("PLAIN", _saslSettings, null);
    assertNull("Should not be able to create SASL negotiator with incorrect mechanism.", negotiator);
}
Also used : SaslNegotiator(org.apache.qpid.server.security.auth.sasl.SaslNegotiator)

Example 4 with SaslNegotiator

use of org.apache.qpid.server.security.auth.sasl.SaslNegotiator in project qpid-broker-j by apache.

the class ExternalAuthenticationManagerTest method testAuthenticatePrincipalCnDc_OtherComponentsIgnored.

public void testAuthenticatePrincipalCnDc_OtherComponentsIgnored() throws Exception {
    X500Principal principal = new X500Principal("CN=person, DC=example, DC=com, O=My Company Ltd, L=Newbury, ST=Berkshire, C=GB");
    UsernamePrincipal expectedPrincipal = new UsernamePrincipal("person@example.com", _manager);
    when(_saslSettings.getExternalPrincipal()).thenReturn(principal);
    SaslNegotiator negotiator = _manager.createSaslNegotiator("EXTERNAL", _saslSettings, null);
    AuthenticationResult result = negotiator.handleResponse(new byte[0]);
    assertNotNull(result);
    assertEquals("Expected authentication to be successful", AuthenticationResult.AuthenticationStatus.SUCCESS, result.getStatus());
    assertOnlyContainsWrapped(expectedPrincipal, result.getPrincipals());
    assertEquals("person@example.com", result.getMainPrincipal().getName());
}
Also used : UsernamePrincipal(org.apache.qpid.server.security.auth.UsernamePrincipal) X500Principal(javax.security.auth.x500.X500Principal) SaslNegotiator(org.apache.qpid.server.security.auth.sasl.SaslNegotiator) AuthenticationResult(org.apache.qpid.server.security.auth.AuthenticationResult)

Example 5 with SaslNegotiator

use of org.apache.qpid.server.security.auth.sasl.SaslNegotiator in project qpid-broker-j by apache.

the class ExternalAuthenticationManagerTest method testAuthenticatePrincipalNoCn_CausesAuthError.

public void testAuthenticatePrincipalNoCn_CausesAuthError() throws Exception {
    X500Principal principal = new X500Principal("DC=example, DC=com, O=My Company Ltd, L=Newbury, ST=Berkshire, C=GB");
    when(_saslSettings.getExternalPrincipal()).thenReturn(principal);
    SaslNegotiator negotiator = _manager.createSaslNegotiator("EXTERNAL", _saslSettings, null);
    AuthenticationResult result = negotiator.handleResponse(new byte[0]);
    assertNotNull(result);
    assertEquals("Expected authentication to be unsuccessful", AuthenticationResult.AuthenticationStatus.ERROR, result.getStatus());
    assertNull(result.getMainPrincipal());
}
Also used : X500Principal(javax.security.auth.x500.X500Principal) SaslNegotiator(org.apache.qpid.server.security.auth.sasl.SaslNegotiator) AuthenticationResult(org.apache.qpid.server.security.auth.AuthenticationResult)

Aggregations

SaslNegotiator (org.apache.qpid.server.security.auth.sasl.SaslNegotiator)22 AuthenticationResult (org.apache.qpid.server.security.auth.AuthenticationResult)13 X500Principal (javax.security.auth.x500.X500Principal)7 SaslSettings (org.apache.qpid.server.security.auth.sasl.SaslSettings)7 UsernamePrincipal (org.apache.qpid.server.security.auth.UsernamePrincipal)5 SubjectCreator (org.apache.qpid.server.security.SubjectCreator)2 InetSocketAddress (java.net.InetSocketAddress)1 Subject (javax.security.auth.Subject)1 HttpSession (javax.servlet.http.HttpSession)1 TaskExecutorImpl (org.apache.qpid.server.configuration.updater.TaskExecutorImpl)1 EventLogger (org.apache.qpid.server.logging.EventLogger)1 SessionInvalidatedException (org.apache.qpid.server.management.plugin.SessionInvalidatedException)1 AuthenticationProvider (org.apache.qpid.server.model.AuthenticationProvider)1 Broker (org.apache.qpid.server.model.Broker)1 BrokerModel (org.apache.qpid.server.model.BrokerModel)1 Model (org.apache.qpid.server.model.Model)1 SystemConfig (org.apache.qpid.server.model.SystemConfig)1 VirtualHostNode (org.apache.qpid.server.model.VirtualHostNode)1 AmqpPort (org.apache.qpid.server.model.port.AmqpPort)1 AuthenticatedPrincipal (org.apache.qpid.server.security.auth.AuthenticatedPrincipal)1