Projet

Général

Profil

« Précédent | Suivant » 

Révision 96454bcd

Ajouté par Sylvain Sauvage il y a plus de 11 ans

Version 1.9-mock

This is version 1.9-mock. 1.9 because the API still have changes pending
(principally relative to the Discovery Services). “mock” because TLS
configuration is not yet available and the signatures (SigMa) are not fully
implemented.

  • All:
    - code cleaned and refactored
    - lots of bugs fixed
    - dependencies checked and trimmed
    - documentation added
    - Identity handling added
  • New library modules (Mu, Nu)
  • New signature modules (SigMa)
  • Access Layer and User interfaces (ALfA and OMeGa):
    - code refactored
    - new, better APIs
    - Identity handling added
    - use EPCglobal and DS events (no proxy types anymore)
  • New tempororay DSeTa web service (pending new DS)
  • ETa corrected and added to the IoTa-Installer
    - ETa-Callback modules are now available as web applications
    - filtering rules: if a part of an event is not allowed, now the whole
    event is deleted from the result (before only the rejectd part was)
  • CaPPa: overall refactoring of XACML handling
    - new temporary User web service
    - new Xi module: XACML Interrogation web service (was two modules: TCP and
    servlet)
  • PSi now signs its events
  • Installer, now also installs or configures:
    - ETa and its Callback modules
    - ActiveMQ
    - SigMa
    - certificate/signing key
  • Greyc letters figures:
    - new simplified figures (sans IoTa and simplified IoTa)
    - new figure for ETa modules
    - show 3rd party clients
    - data flows specified
    - TLS and link security added
    - IDs and trusted IDs added
    - color adjusted for printing
    - GREYC logo added

Voir les différences:

IoTa-DiscoveryWS/IoTa-DiscoveryWS/src/main/java/fr/unicaen/iota/discovery/server/util/Session.java
import fr.unicaen.iota.discovery.server.hibernate.User;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.logging.Log;
......
}
private static final Log log = LogFactory.getLog(Session.class);
private static final Map<String, User> sessions = new HashMap<String, User>();
private static MessageDigest MD5;
static {
try {
MD5 = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
log.fatal(null, e);
}
}
public static synchronized String openSession(User user) {
if (MD5 == null) {
log.error("MD5 not avalaible");
return null;
}
log.debug("opening session for user " + user.getUserID());
String sessionID;
java.util.Date today = new java.util.Date();
long today = new Date().getTime();
try {
do {
sessionID = MD5.MD5_Algo(Long.toString(today.getTime()) + user.getLogin() + (today.getTime() * Math.random())); // TODO add login+pass
String text = Long.toString(today) + user.getLogin() + (today * Math.random()); // TODO add login+pass
byte[] digest = MD5.digest(text.getBytes("UTF-8"));
sessionID = new BigInteger(1, digest).toString(16);
} while (sessions.containsKey(sessionID));
} catch (NoSuchAlgorithmException e) {
log.error(null, e);
return null;
} catch (UnsupportedEncodingException e) {
log.error(null, e);
return null;

Formats disponibles : Unified diff