|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface SecurityEntity
SecureEntity defines all security related method a secure generic object must implement. An entity can be an active object, a runtime, a domain.
| Method Summary | |
|---|---|
java.security.cert.X509Certificate |
getCertificate()
entity certificate |
byte[] |
getCertificateEncoded()
Entity's X509Certificate as byte array |
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 |
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 |
long |
startNewSession(Communication policy)
start an unvalidated empty session |
void |
terminateSession(long sessionID)
terminate a given session |
| Method Detail |
|---|
java.security.cert.X509Certificate getCertificate()
throws SecurityNotAvailableException,
java.io.IOException
SecurityNotAvailableException - if security is not available
java.io.IOException - if communication fails
long startNewSession(Communication policy)
throws SecurityNotAvailableException,
RenegotiateSessionException,
java.io.IOException
policy - policy associated to the session
SecurityNotAvailableException - if security is not available
RenegotiateSessionException - if the session immediatly expires
java.io.IOException
java.security.PublicKey getPublicKey()
throws SecurityNotAvailableException,
java.io.IOException
SecurityNotAvailableException
java.io.IOException
byte[] randomValue(long sessionID,
byte[] clientRandomValue)
throws SecurityNotAvailableException,
RenegotiateSessionException,
java.io.IOException
sessionID - the session IDclientRandomValue - client random value
SecurityNotAvailableException - if the security is not available
RenegotiateSessionException - if the session has expired
java.io.IOException
byte[][] publicKeyExchange(long sessionID,
byte[] myPublicKey,
byte[] myCertificate,
byte[] signature)
throws SecurityNotAvailableException,
RenegotiateSessionException,
KeyExchangeException,
java.io.IOException
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
byte[][] secretKeyExchange(long sessionID,
byte[] encodedAESKey,
byte[] encodedIVParameters,
byte[] encodedClientMacKey,
byte[] encodedLockData,
byte[] parametersSignature)
throws SecurityNotAvailableException,
RenegotiateSessionException,
java.io.IOException
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 fails
SecurityContext getPolicy(SecurityContext securityContext)
throws SecurityNotAvailableException,
java.io.IOException
securityContext - communication details allowing the entity to
look for a matching policy
SecurityNotAvailableException - thrown the entity doest not support the security
java.io.IOException
byte[] getCertificateEncoded()
throws SecurityNotAvailableException,
java.io.IOException
SecurityNotAvailableException
java.io.IOException
java.util.ArrayList<Entity> getEntities()
throws SecurityNotAvailableException,
java.io.IOException
SecurityNotAvailableException - if the target entity does not support security
java.io.IOException
void terminateSession(long sessionID)
throws SecurityNotAvailableException,
java.io.IOException
sessionID -
SecurityNotAvailableException - id security is not available
java.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||