Package org.jgroups.auth
Class X509Token
- java.lang.Object
-
- org.jgroups.auth.AuthToken
-
- org.jgroups.auth.X509Token
-
- All Implemented Interfaces:
java.io.Serializable,Streamable
public class X509Token extends AuthToken
This is an example of using a preshared token that is encrypted using an X509 certificate for authentication purposes. All members of the group have to have the same string value in the JGroups config.
This example uses certificates contained within a specified keystore. Configuration parameters for this example are shown below:
- keystore_type = JKS(default)/PKCS12 - see http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html#AppA
- keystore_path (required) = the location of the keystore
- keystore_password (required) = the password of the keystore
- cert_alias (required) = the alias of the certification within the keystore
- cert_password = the password of the certification within the keystore
- auth_value (required) = the string to encrypt
- cipher_type = RSA(default)/AES/Blowfish/DES/DESede/PBEWithMD5AndDES/PBEWithHmacSHA1AndDESede/RC2/RC4/RC5 - see http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html#AppA
- Author:
- Chris Mills
- See Also:
AuthToken, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCERT_ALIASstatic java.lang.StringCERT_PASSWORDstatic java.lang.StringCIPHER_TYPEstatic java.lang.StringKEYSTORE_PASSWORDstatic java.lang.StringKEYSTORE_PATHstatic java.lang.StringKEYSTORE_TYPEstatic java.lang.StringTOKEN_ATTR
-
Constructor Summary
Constructors Constructor Description X509Token()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanauthenticate(AuthToken token, Message msg)This method should be implemented to perform the actual authentication of joining members.java.lang.StringgetName()Used to return the full package and class name of the implementation.voidreadFrom(java.io.DataInputStream in)Read the state of the current object (including superclasses) from instream Note that the input stream must not be closedvoidsetValue(java.util.Properties properties)Called during the setup of the AUTH protocol to pass property values from the JGroups config XML document to the implementing class.voidwriteTo(java.io.DataOutputStream out)Write the entire state of the current object (including superclasses) to outstream.
-
-
-
Field Detail
-
KEYSTORE_TYPE
public static final java.lang.String KEYSTORE_TYPE
- See Also:
- Constant Field Values
-
KEYSTORE_PATH
public static final java.lang.String KEYSTORE_PATH
- See Also:
- Constant Field Values
-
KEYSTORE_PASSWORD
public static final java.lang.String KEYSTORE_PASSWORD
- See Also:
- Constant Field Values
-
CERT_ALIAS
public static final java.lang.String CERT_ALIAS
- See Also:
- Constant Field Values
-
CERT_PASSWORD
public static final java.lang.String CERT_PASSWORD
- See Also:
- Constant Field Values
-
TOKEN_ATTR
public static final java.lang.String TOKEN_ATTR
- See Also:
- Constant Field Values
-
CIPHER_TYPE
public static final java.lang.String CIPHER_TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
setValue
public void setValue(java.util.Properties properties)
Description copied from class:AuthTokenCalled during the setup of the AUTH protocol to pass property values from the JGroups config XML document to the implementing class.
-
getName
public java.lang.String getName()
Description copied from class:AuthTokenUsed to return the full package and class name of the implementation. This is used by the AUTH protocol to create an instance of the implementation.
-
authenticate
public boolean authenticate(AuthToken token, Message msg)
Description copied from class:AuthTokenThis method should be implemented to perform the actual authentication of joining members.- Specified by:
authenticatein classAuthToken- Parameters:
token- the token sent by the joinermsg- the Message object containing the actual JOIN_REQ- Returns:
- true if authenticaion passed or false if it failed.
-
writeTo
public void writeTo(java.io.DataOutputStream out) throws java.io.IOExceptionDescription copied from interface:StreamableWrite the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed- Throws:
java.io.IOException
-
readFrom
public void readFrom(java.io.DataInputStream in) throws java.io.IOException, java.lang.IllegalAccessException, java.lang.InstantiationExceptionDescription copied from interface:StreamableRead the state of the current object (including superclasses) from instream Note that the input stream must not be closed- Throws:
java.io.IOExceptionjava.lang.IllegalAccessExceptionjava.lang.InstantiationException
-
-