Smack

org.jivesoftware.smack.sasl
Class SASLExternalMechanism

java.lang.Object
  extended by org.jivesoftware.smack.sasl.SASLMechanism
      extended by org.jivesoftware.smack.sasl.SASLExternalMechanism
All Implemented Interfaces:
javax.security.auth.callback.CallbackHandler

public class SASLExternalMechanism
extends SASLMechanism

Implementation of the SASL EXTERNAL mechanism. To effectively use this mechanism, Java must be configured to properly supply a client SSL certificate (of some sort) to the server. It is up to the implementer to determine how to do this. Here is one method: Create a java keystore with your SSL certificate in it: keytool -genkey -alias username -dname "cn=username,ou=organizationalUnit,o=organizationaName,l=locality,s=state,c=country" Next, set the System Properties:

Then, when the server requests or requires the client certificate, java will simply provide the one in the keyStore. Also worth noting is the EXTERNAL mechanism in Smack is not enabled by default. To enable it, the implementer will need to call SASLAuthentication.supportSASLMechamism("EXTERNAL");

Author:
Jay Kline

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jivesoftware.smack.sasl.SASLMechanism
SASLMechanism.AuthMechanism, SASLMechanism.Challenge, SASLMechanism.Failure, SASLMechanism.Response, SASLMechanism.Success
 
Field Summary
 
Fields inherited from class org.jivesoftware.smack.sasl.SASLMechanism
authenticationId, hostname, password, sc
 
Constructor Summary
SASLExternalMechanism(SASLAuthentication saslAuthentication)
           
 
Method Summary
protected  java.lang.String getName()
          Returns the common name of the SASL mechanism.
 
Methods inherited from class org.jivesoftware.smack.sasl.SASLMechanism
authenticate, authenticate, authenticate, authenticate, challengeReceived, getSASLAuthentication, handle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SASLExternalMechanism

public SASLExternalMechanism(SASLAuthentication saslAuthentication)
Method Detail

getName

protected java.lang.String getName()
Description copied from class: SASLMechanism
Returns the common name of the SASL mechanism. E.g.: PLAIN, DIGEST-MD5 or GSSAPI.

Specified by:
getName in class SASLMechanism
Returns:
the common name of the SASL mechanism.

Smack

Copyright © 2003-2007 Jive Software.