|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jgroups.auth.AuthToken org.jgroups.auth.X509Token
public class X509Token
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
Field Summary | |
---|---|
static java.lang.String |
CERT_ALIAS
|
static java.lang.String |
CERT_PASSWORD
|
static java.lang.String |
CIPHER_TYPE
|
static java.lang.String |
KEYSTORE_PASSWORD
|
static java.lang.String |
KEYSTORE_PATH
|
static java.lang.String |
KEYSTORE_TYPE
|
static java.lang.String |
TOKEN_ATTR
|
Fields inherited from class org.jgroups.auth.AuthToken |
---|
auth, log |
Constructor Summary | |
---|---|
X509Token()
|
Method Summary | |
---|---|
boolean |
authenticate(AuthToken token,
Message msg)
This method should be implemented to perform the actual authentication of joining members. |
X509Token |
encryptedToken(byte[] buf)
To be used for testing only |
java.lang.String |
getName()
Used to return the full package and class name of the implementation. |
void |
readFrom(java.io.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(java.lang.String pwd)
|
void |
setKeyStorePassword(java.lang.String pwd)
|
int |
size()
The size of the marshalled AuthToken |
void |
writeTo(java.io.DataOutput out)
Write the entire state of the current object (including superclasses) to outstream. |
Methods inherited from class org.jgroups.auth.AuthToken |
---|
init, setAuth |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String KEYSTORE_TYPE
public static final java.lang.String KEYSTORE_PATH
public static final java.lang.String KEYSTORE_PASSWORD
public static final java.lang.String CERT_ALIAS
public static final java.lang.String CERT_PASSWORD
public static final java.lang.String TOKEN_ATTR
public static final java.lang.String CIPHER_TYPE
Constructor Detail |
---|
public X509Token()
Method Detail |
---|
public void setCertPassword(java.lang.String pwd)
public void setKeyStorePassword(java.lang.String pwd)
public X509Token encryptedToken(byte[] buf)
public java.lang.String getName()
AuthToken
getName
in class 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_REQ
public void writeTo(java.io.DataOutput out) throws java.lang.Exception
Streamable
java.lang.Exception
public void readFrom(java.io.DataInput in) throws java.lang.Exception
Streamable
java.lang.Exception
public int size()
AuthToken
size
in class AuthToken
public void setCertificate() throws java.security.KeyStoreException, java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException, java.security.UnrecoverableEntryException
java.security.KeyStoreException
java.io.IOException
java.security.NoSuchAlgorithmException
java.security.cert.CertificateException
javax.crypto.NoSuchPaddingException
java.security.InvalidKeyException
javax.crypto.IllegalBlockSizeException
javax.crypto.BadPaddingException
java.security.UnrecoverableEntryException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |