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:
AuthToken
Modifier and Type | Field and Description |
---|---|
static String |
CERT_ALIAS |
static String |
CERT_PASSWORD |
static String |
CIPHER_TYPE |
static String |
KEYSTORE_PASSWORD |
static String |
KEYSTORE_PATH |
static String |
KEYSTORE_TYPE |
static String |
TOKEN_ATTR |
Constructor and Description |
---|
X509Token() |
Modifier and Type | Method and Description |
---|---|
boolean |
authenticate(AuthToken token,
Message msg)
This method should be implemented to perform the actual authentication of joining members.
|
String |
getName()
Used to return the full package and class name of the implementation.
|
void |
readFrom(DataInput in)
Read the state of the current object (including superclasses) from instream
Note that the input stream must not be closed
|
void |
setCertificate()
Used during setup to get the certification from the keystore and encrypt the auth_value with
the private key
|
void |
setCertPassword(String pwd) |
void |
setKeyStorePassword(String pwd) |
void |
writeTo(DataOutput out)
Write the entire state of the current object (including superclasses) to outstream.
|
public static final String KEYSTORE_TYPE
public static final String KEYSTORE_PATH
public static final String KEYSTORE_PASSWORD
public static final String CERT_ALIAS
public static final String CERT_PASSWORD
public static final String TOKEN_ATTR
public static final String CIPHER_TYPE
public void setCertPassword(String pwd)
public void setKeyStorePassword(String pwd)
public String getName()
AuthToken
public boolean authenticate(AuthToken token, Message msg)
AuthToken
authenticate
in class AuthToken
token
- the token sent by the joinermsg
- the Message object containing the actual JOIN_REQpublic void writeTo(DataOutput out) throws Exception
Streamable
Exception
public void readFrom(DataInput in) throws Exception
Streamable
Exception
public void setCertificate() throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException, UnrecoverableEntryException
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.