|
||||||||||
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 failslong 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 failsSecurityContext 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 |