Package org.jgroups.auth
Class X509Token
java.lang.Object
org.jgroups.auth.AuthToken
org.jgroups.auth.X509Token
- All Implemented Interfaces:
Serializable
,Streamable
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:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
authenticate
(AuthToken token, Message msg) This method should be implemented to perform the actual authentication of joining members.getName()
Used to return the full package and class name of the implementation.void
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closedvoid
setValue
(Properties properties) Called during the setup of the AUTH protocol to pass property values from the JGroups config XML document to the implementing class.void
writeTo
(DataOutputStream out) Write the entire state of the current object (including superclasses) to outstream.
-
Field Details
-
KEYSTORE_TYPE
- See Also:
-
KEYSTORE_PATH
- See Also:
-
KEYSTORE_PASSWORD
- See Also:
-
CERT_ALIAS
- See Also:
-
CERT_PASSWORD
- See Also:
-
TOKEN_ATTR
- See Also:
-
CIPHER_TYPE
- See Also:
-
-
Constructor Details
-
X509Token
public X509Token()
-
-
Method Details
-
setValue
Description copied from class:AuthToken
Called during the setup of the AUTH protocol to pass property values from the JGroups config XML document to the implementing class. -
getName
Description copied from class:AuthToken
Used 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
Description copied from class:AuthToken
This method should be implemented to perform the actual authentication of joining members.- Specified by:
authenticate
in 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
Description copied from interface:Streamable
Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed- Throws:
IOException
-
readFrom
public void readFrom(DataInputStream in) throws IOException, IllegalAccessException, InstantiationException Description copied from interface:Streamable
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
-