|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.proactive.ext.security.InternalBodySecurity
public class InternalBodySecurity
This class is enabled when the body is a forwarder. It acts like a forwarder for all security related messages
Field Summary | |
---|---|
protected SecurityEntity |
distantBody
|
Constructor Summary | |
---|---|
InternalBodySecurity(UniversalBody distantBody)
|
Method Summary | |
---|---|
java.security.cert.X509Certificate |
getCertificate()
entity certificate |
byte[] |
getCertificateEncoded()
Entity's X509Certificate as byte array |
byte[] |
getCertificatEncoded()
|
UniversalBody |
getDistantBody()
|
java.util.ArrayList<Entity> |
getEntities()
Retrieves all the entity's ID which contain this entity plus this entity ID. |
SecurityContext |
getPolicy(SecurityContext securityContext)
Ask the entity to fill the securityContext parameters with its own policy according to the communication details contained in the given securityContext |
java.security.PublicKey |
getPublicKey()
entity public key |
boolean |
isLocalBody()
|
byte[][] |
publicKeyExchange(long sessionID,
byte[] myPublicKey,
byte[] myCertificate,
byte[] signature)
exchange entity certificate and/or public key if certificate are not available |
byte[] |
randomValue(long sessionID,
byte[] clientRandomValue)
Exchange random value between client and server entity |
byte[][] |
secretKeyExchange(long sessionID,
byte[] encodedAESKey,
byte[] encodedIVParameters,
byte[] encodedClientMacKey,
byte[] encodedLockData,
byte[] parametersSignature)
this method sends encoded secret parameters to the target entity |
void |
setDistantBody(UniversalBody distantBody)
|
long |
startNewSession(Communication policy)
start an unvalidated empty session |
void |
terminateSession(long sessionID)
terminate a given session |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected SecurityEntity distantBody
Constructor Detail |
---|
public InternalBodySecurity(UniversalBody distantBody)
Method Detail |
---|
public void terminateSession(long sessionID) throws SecurityNotAvailableException, java.io.IOException
SecurityEntity
terminateSession
in interface SecurityEntity
SecurityNotAvailableException
- id security is not available
java.io.IOException
public java.security.cert.X509Certificate getCertificate() throws SecurityNotAvailableException, java.io.IOException
SecurityEntity
getCertificate
in interface SecurityEntity
SecurityNotAvailableException
- if security is not available
java.io.IOException
- if communication failspublic long startNewSession(Communication policy) throws SecurityNotAvailableException, RenegotiateSessionException, java.io.IOException
SecurityEntity
startNewSession
in interface SecurityEntity
policy
- policy associated to the session
SecurityNotAvailableException
- if security is not available
RenegotiateSessionException
- if the session immediatly expires
java.io.IOException
public java.security.PublicKey getPublicKey() throws SecurityNotAvailableException, java.io.IOException
SecurityEntity
getPublicKey
in interface SecurityEntity
SecurityNotAvailableException
java.io.IOException
public byte[] randomValue(long sessionID, byte[] clientRandomValue) throws SecurityNotAvailableException, RenegotiateSessionException, java.io.IOException
SecurityEntity
randomValue
in interface SecurityEntity
sessionID
- the session IDclientRandomValue
- client random value
SecurityNotAvailableException
- if the security is not available
RenegotiateSessionException
- if the session has expired
java.io.IOException
public byte[][] publicKeyExchange(long sessionID, byte[] myPublicKey, byte[] myCertificate, byte[] signature) throws SecurityNotAvailableException, RenegotiateSessionException, KeyExchangeException, java.io.IOException
SecurityEntity
publicKeyExchange
in interface SecurityEntity
sessionID
- the session IDmyPublicKey
- encoded public keymyCertificate
- encoded certificatesignature
- encoded signature of previous paramaters
SecurityNotAvailableException
- if the security is not available
RenegotiateSessionException
- if the session has expired
KeyExchangeException
- if a key data/length/algorithm is not supported
java.io.IOException
public byte[][] secretKeyExchange(long sessionID, byte[] encodedAESKey, byte[] encodedIVParameters, byte[] encodedClientMacKey, byte[] encodedLockData, byte[] parametersSignature) throws SecurityNotAvailableException, RenegotiateSessionException, java.io.IOException
SecurityEntity
secretKeyExchange
in interface SecurityEntity
sessionID
- session IDencodedAESKey
- the AES key use to exchange secret messageencodedIVParameters
- Initilization parameters for the AES keyencodedClientMacKey
- MAC key for checking signature of future messagesencodedLockData
- random value to prevent message replays by an external attackerparametersSignature
- encoded signature of the previous parameters
SecurityNotAvailableException
- if this entity does not support security
RenegotiateSessionException
- if the session has expired or has been cancelled during this exchange
java.io.IOException
- if communication failspublic void setDistantBody(UniversalBody distantBody)
public boolean isLocalBody()
public UniversalBody getDistantBody()
public byte[] getCertificatEncoded() throws SecurityNotAvailableException, java.io.IOException
SecurityNotAvailableException
java.io.IOException
public SecurityContext getPolicy(SecurityContext securityContext) throws SecurityNotAvailableException, java.io.IOException
SecurityEntity
getPolicy
in interface SecurityEntity
securityContext
-
SecurityNotAvailableException
- thrown the entity doest not support the security
java.io.IOException
public java.util.ArrayList<Entity> getEntities() throws SecurityNotAvailableException, java.io.IOException
SecurityEntity
getEntities
in interface SecurityEntity
SecurityNotAvailableException
- if the target entity does not support security
java.io.IOException
public byte[] getCertificateEncoded() throws SecurityNotAvailableException, java.io.IOException
SecurityEntity
getCertificateEncoded
in interface SecurityEntity
SecurityNotAvailableException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |