00001 /* 00002 * ################################################################ 00003 * 00004 * ProActive: The Java(TM) library for Parallel, Distributed, 00005 * Concurrent computing with Security and Mobility 00006 * 00007 * Copyright (C) 1997-2007 INRIA/University of Nice-Sophia Antipolis 00008 * Contact: proactive@objectweb.org 00009 * 00010 * This library is free software; you can redistribute it and/or 00011 * modify it under the terms of the GNU Lesser General Public 00012 * License as published by the Free Software Foundation; either 00013 * version 2.1 of the License, or any later version. 00014 * 00015 * This library is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public 00021 * License along with this library; if not, write to the Free Software 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00023 * USA 00024 * 00025 * Initial developer(s): The ProActive Team 00026 * http://www.inria.fr/oasis/ProActive/contacts.html 00027 * Contributor(s): 00028 * 00029 * ################################################################ 00030 */ 00031 package org.objectweb.proactive.ext.security.crypto; 00032 00033 import java.io.Serializable; 00034 import java.security.Key; 00035 import java.security.SecureRandom; 00036 00037 import javax.crypto.KeyGenerator; 00038 00039 00040 public class SessionKeyFactory implements Serializable { 00041 // private SecureRandom rand = new FixedSecureRandom(); 00042 private KeyGenerator keyGen; 00043 00044 public SessionKeyFactory() { 00045 // myProvider = new org.bouncycastle.jce.provider.BouncyCastleProvider(); 00046 // Tester ici si ca n'a pas ete deja fait : cf mail... 00047 // Security.addProvider(myProvider); 00048 try { 00049 // "BC" is the name of the BouncyCastle provider 00050 keyGen = KeyGenerator.getInstance("Rijndael", "BC"); 00051 keyGen.init(128, new SecureRandom()); 00052 00053 // keyGen.init(128,rand); 00054 } catch (Exception e) { 00055 System.out.println("Exception in the Session Key Generation : " + 00056 e); 00057 } 00058 } 00059 00060 public Key generateSessionKey() { 00061 return keyGen.generateKey(); 00062 } 00063 }