org/objectweb/proactive/ext/security/EncryptedBody.java

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;
00032 
00033 import java.io.IOException;
00034 import java.io.Serializable;
00035 import java.security.PublicKey;
00036 import java.security.cert.X509Certificate;
00037 import java.util.ArrayList;
00038 
00039 import org.objectweb.proactive.Body;
00040 import org.objectweb.proactive.core.UniqueID;
00041 import org.objectweb.proactive.core.body.BodyAdapter;
00042 import org.objectweb.proactive.core.body.UniversalBody;
00043 import org.objectweb.proactive.core.body.ft.internalmsg.FTMessage;
00044 import org.objectweb.proactive.core.body.future.Future;
00045 import org.objectweb.proactive.core.body.future.FuturePool;
00046 import org.objectweb.proactive.core.body.reply.Reply;
00047 import org.objectweb.proactive.core.body.request.BlockingRequestQueue;
00048 import org.objectweb.proactive.core.body.request.Request;
00049 import org.objectweb.proactive.core.component.representative.ItfID;
00050 import org.objectweb.proactive.core.component.request.Shortcut;
00051 import org.objectweb.proactive.core.event.MessageEventListener;
00052 import org.objectweb.proactive.core.exceptions.NonFunctionalException;
00053 import org.objectweb.proactive.core.exceptions.manager.NFEListener;
00054 import org.objectweb.proactive.core.mop.MethodCall;
00055 import org.objectweb.proactive.ext.security.crypto.ConfidentialityTicket;
00056 import org.objectweb.proactive.ext.security.crypto.KeyExchangeException;
00057 import org.objectweb.proactive.ext.security.exceptions.RenegotiateSessionException;
00058 import org.objectweb.proactive.ext.security.exceptions.SecurityNotAvailableException;
00059 import org.objectweb.proactive.ext.security.securityentity.Entity;
00060 
00061 
00067 public class EncryptedBody implements Body, Serializable {
00068     // specify if this body is encrypted or not
00069     protected boolean isEncrypted = false;
00070 
00071     // session ID 
00072     protected long sessionID;
00073 
00074     // serialized and encrypted body
00075     protected byte[] encryptedBody;
00076 
00077     public EncryptedBody() {
00078     }
00079 
00083     public EncryptedBody(byte[] encryptedBody, long sessionID) {
00084         this.encryptedBody = encryptedBody;
00085         this.sessionID = sessionID;
00086         isEncrypted = (encryptedBody != null);
00087     }
00088 
00089     /* (non-Javadoc)
00090      * @see org.objectweb.proactive.Body#terminate()
00091      */
00092     public void terminate() {
00093     }
00094 
00095     /* (non-Javadoc)
00096      * @see org.objectweb.proactive.Body#isAlive()
00097      */
00098     public boolean isAlive() {
00099         return false;
00100     }
00101 
00102     /* (non-Javadoc)
00103      * @see org.objectweb.proactive.Body#isActive()
00104      */
00105     public boolean isActive() {
00106         return false;
00107     }
00108 
00109     /* (non-Javadoc)
00110      * @see org.objectweb.proactive.Body#blockCommunication()
00111      */
00112     public void blockCommunication() {
00113     }
00114 
00115     /* (non-Javadoc)
00116      * @see org.objectweb.proactive.Body#acceptCommunication()
00117      */
00118     public void acceptCommunication() {
00119     }
00120 
00121     /* (non-Javadoc)
00122      * @see org.objectweb.proactive.Body#enterInThreadStore()
00123      */
00124     public void enterInThreadStore() {
00125     }
00126 
00127     /* (non-Javadoc)
00128      * @see org.objectweb.proactive.Body#exitFromThreadStore()
00129      */
00130     public void exitFromThreadStore() {
00131     }
00132 
00133     /* (non-Javadoc)
00134      * @see org.objectweb.proactive.Body#checkNewLocation(org.objectweb.proactive.core.UniqueID)
00135      */
00136     public UniversalBody checkNewLocation(UniqueID uniqueID) {
00137         return null;
00138     }
00139 
00140     /* (non-Javadoc)
00141      * @see org.objectweb.proactive.Body#setPolicyServer(org.objectweb.proactive.ext.security.PolicyServer)
00142      */
00143     public void setPolicyServer(PolicyServer server) {
00144     }
00145 
00146     /* (non-Javadoc)
00147      * @see org.objectweb.proactive.core.body.LocalBodyStrategy#getFuturePool()
00148      */
00149     public FuturePool getFuturePool() {
00150         return null;
00151     }
00152 
00153     /* (non-Javadoc)
00154      * @see org.objectweb.proactive.core.body.LocalBodyStrategy#getRequestQueue()
00155      */
00156     public BlockingRequestQueue getRequestQueue() {
00157         return null;
00158     }
00159 
00160     /* (non-Javadoc)
00161      * @see org.objectweb.proactive.core.body.LocalBodyStrategy#getReifiedObject()
00162      */
00163     public Object getReifiedObject() {
00164         return null;
00165     }
00166 
00167     /* (non-Javadoc)
00168      * @see org.objectweb.proactive.core.body.LocalBodyStrategy#getName()
00169      */
00170     public String getName() {
00171         return null;
00172     }
00173 
00174     /* (non-Javadoc)
00175      * @see org.objectweb.proactive.core.body.LocalBodyStrategy#sendRequest(org.objectweb.proactive.core.mop.MethodCall, org.objectweb.proactive.core.body.future.Future, org.objectweb.proactive.core.body.UniversalBody)
00176      */
00177     public void sendRequest(MethodCall methodCall, Future future,
00178         UniversalBody destinationBody)
00179         throws IOException, RenegotiateSessionException {
00180     }
00181 
00182     /* (non-Javadoc)
00183      * @see org.objectweb.proactive.core.body.LocalBodyStrategy#serve(org.objectweb.proactive.core.body.request.Request)
00184      */
00185     public void serve(Request request) {
00186     }
00187 
00188     /* (non-Javadoc)
00189      * @see org.objectweb.proactive.core.body.UniversalBody#receiveRequest(org.objectweb.proactive.core.body.request.Request)
00190      */
00191     public int receiveRequest(Request request)
00192         throws IOException, RenegotiateSessionException {
00193         return 0;
00194     }
00195 
00196     /* (non-Javadoc)
00197      * @see org.objectweb.proactive.core.body.UniversalBody#receiveReply(org.objectweb.proactive.core.body.reply.Reply)
00198      */
00199     public int receiveReply(Reply r) throws IOException {
00200         return 0;
00201     }
00202 
00203     /* (non-Javadoc)
00204      * @see org.objectweb.proactive.core.body.UniversalBody#getNodeURL()
00205      */
00206     public String getNodeURL() {
00207         return null;
00208     }
00209 
00210     /* (non-Javadoc)
00211      * @see org.objectweb.proactive.core.body.UniversalBody#getID()
00212      */
00213     public UniqueID getID() {
00214         return null;
00215     }
00216 
00217     /* (non-Javadoc)
00218      * @see org.objectweb.proactive.core.body.UniversalBody#updateLocation(org.objectweb.proactive.core.UniqueID, org.objectweb.proactive.core.body.UniversalBody)
00219      */
00220     public void updateLocation(UniqueID id, UniversalBody body)
00221         throws IOException {
00222     }
00223 
00224     /* (non-Javadoc)
00225      * @see org.objectweb.proactive.core.body.UniversalBody#enableAC()
00226      */
00227     public void enableAC() throws IOException {
00228     }
00229 
00230     /* (non-Javadoc)
00231      * @see org.objectweb.proactive.core.body.UniversalBody#disableAC()
00232      */
00233     public void disableAC() throws IOException {
00234     }
00235 
00236     /* (non-Javadoc)
00237      * @see org.objectweb.proactive.core.body.UniversalBody#setImmediateService(java.lang.String)
00238      */
00239     public void setImmediateService(String methodName)
00240         throws IOException {
00241     }
00242 
00243     /* (non-Javadoc)
00244      * @see org.objectweb.proactive.core.body.UniversalBody#terminateSession(long)
00245      */
00246     public void terminateSession(long sessionID)
00247         throws IOException, SecurityNotAvailableException {
00248     }
00249 
00250     /* (non-Javadoc)
00251      * @see org.objectweb.proactive.core.body.UniversalBody#getCertificate()
00252      */
00253     public X509Certificate getCertificate()
00254         throws SecurityNotAvailableException, IOException {
00255         return null;
00256     }
00257 
00258     /* (non-Javadoc)
00259      * @see org.objectweb.proactive.core.body.UniversalBody#getProActiveSecurityManager()
00260      */
00261     public ProActiveSecurityManager getProActiveSecurityManager()
00262         throws SecurityNotAvailableException, IOException {
00263         return null;
00264     }
00265 
00266     /* (non-Javadoc)
00267      * @see org.objectweb.proactive.core.body.UniversalBody#startNewSession(org.objectweb.proactive.ext.security.Communication)
00268      */
00269     public long startNewSession(Communication policy)
00270         throws SecurityNotAvailableException, IOException, 
00271             RenegotiateSessionException {
00272         return 0;
00273     }
00274 
00275     /* (non-Javadoc)
00276      * @see org.objectweb.proactive.core.body.UniversalBody#negociateKeyReceiverSide(org.objectweb.proactive.ext.security.crypto.ConfidentialityTicket, long)
00277      */
00278     public ConfidentialityTicket negociateKeyReceiverSide(
00279         ConfidentialityTicket confidentialityTicket, long sessionID)
00280         throws SecurityNotAvailableException, KeyExchangeException, IOException {
00281         return null;
00282     }
00283 
00284     /* (non-Javadoc)
00285      * @see org.objectweb.proactive.core.body.UniversalBody#getPublicKey()
00286      */
00287     public PublicKey getPublicKey()
00288         throws SecurityNotAvailableException, IOException {
00289         return null;
00290     }
00291 
00292     /* (non-Javadoc)
00293      * @see org.objectweb.proactive.core.body.UniversalBody#randomValue(long, byte[])
00294      */
00295     public byte[] randomValue(long sessionID, byte[] clientRandomValue) {
00296         return null;
00297     }
00298 
00299     /* (non-Javadoc)
00300      * @see org.objectweb.proactive.core.body.UniversalBody#publicKeyExchange(long, org.objectweb.proactive.core.body.UniversalBody, byte[], byte[], byte[])
00301      */
00302     public byte[][] publicKeyExchange(long sessionID, byte[] myPublicKey,
00303         byte[] myCertificate, byte[] signature)
00304         throws SecurityNotAvailableException, IOException, 
00305             RenegotiateSessionException {
00306         return null;
00307     }
00308 
00309     /* (non-Javadoc)
00310      * @see org.objectweb.proactive.core.body.UniversalBody#secretKeyExchange(long, byte[], byte[], byte[], byte[], byte[])
00311      */
00312     public byte[][] secretKeyExchange(long sessionID, byte[] encodedAESKey,
00313         byte[] encodedIVParameters, byte[] encodedClientMacKey,
00314         byte[] encodedLockData, byte[] parametersSignature)
00315         throws SecurityNotAvailableException, RenegotiateSessionException {
00316         return null;
00317     }
00318 
00319     /* (non-Javadoc)
00320      * @see org.objectweb.proactive.core.body.UniversalBody#getPolicyTo(java.lang.String, java.lang.String, java.lang.String)
00321      */
00322     public Communication getPolicyTo(String type, String from, String to)
00323         throws SecurityNotAvailableException, IOException {
00324         return null;
00325     }
00326 
00327     /* (non-Javadoc)
00328      * @see org.objectweb.proactive.core.body.UniversalBody#getPolicy(org.objectweb.proactive.ext.security.SecurityContext)
00329      */
00330     public SecurityContext getPolicy(SecurityContext securityContext)
00331         throws SecurityNotAvailableException, IOException {
00332         return null;
00333     }
00334 
00335     /* (non-Javadoc)
00336      * @see org.objectweb.proactive.core.body.UniversalBody#getVNName()
00337      */
00338     public String getVNName() throws SecurityNotAvailableException, IOException {
00339         return null;
00340     }
00341 
00342     /* (non-Javadoc)
00343      * @see org.objectweb.proactive.core.body.UniversalBody#getCertificateEncoded()
00344      */
00345     public byte[] getCertificateEncoded()
00346         throws SecurityNotAvailableException, IOException {
00347         return null;
00348     }
00349 
00350     /* (non-Javadoc)
00351      * @see org.objectweb.proactive.core.body.UniversalBody#getEntities()
00352      */
00353     public ArrayList<Entity> getEntities()
00354         throws SecurityNotAvailableException, IOException {
00355         return null;
00356     }
00357 
00358     /* (non-Javadoc)
00359      * @see org.objectweb.proactive.core.body.message.MessageEventProducer#addMessageEventListener(org.objectweb.proactive.core.event.MessageEventListener)
00360      */
00361     public void addMessageEventListener(MessageEventListener listener) {
00362     }
00363 
00364     /* (non-Javadoc)
00365      * @see org.objectweb.proactive.core.body.message.MessageEventProducer#removeMessageEventListener(org.objectweb.proactive.core.event.MessageEventListener)
00366      */
00367     public void removeMessageEventListener(MessageEventListener listener) {
00368     }
00369 
00370     /* (non-Javadoc)
00371      * @see org.objectweb.proactive.Job#getJobID()
00372      */
00373     public String getJobID() {
00374         return null;
00375     }
00376 
00377     /* (non-Javadoc)
00378      * @see org.objectweb.proactive.Body#updateNodeURL(java.lang.String)
00379      */
00380     public void updateNodeURL(String newNodeURL) {
00381     }
00382 
00383     /* (non-Javadoc)
00384      * @see org.objectweb.proactive.core.body.UniversalBody#receiveFTMessage(org.objectweb.proactive.core.body.ft.internalmsg.FTMessage)
00385      */
00386     public Object receiveFTMessage(FTMessage ev) throws IOException {
00387         return null;
00388     }
00389 
00390     public UniversalBody getShortcutTargetBody(
00391         ItfID functionalItfID) {
00392         return null;
00393     }
00394 
00395     public void createShortcut(Shortcut shortcut) throws IOException {
00396     }
00397 
00398     public void setImmediateService(String methodName, Class[] parametersTypes)
00399         throws IOException {
00400     }
00401 
00402     public void removeImmediateService(String methodName,
00403         Class[] parametersTypes) throws IOException {
00404     }
00405 
00406     public BodyAdapter getRemoteAdapter() {
00407         return null;
00408     }
00409 
00410     public void addNFEListener(NFEListener listener) {
00411     }
00412 
00413     public void removeNFEListener(NFEListener listener) {
00414     }
00415 
00416     public int fireNFE(NonFunctionalException e) {
00417         return 0;
00418     }
00419 
00420     /*
00421      * @see org.objectweb.proactive.core.body.LocalBodyStrategy#getNextSequenceID()
00422      */
00423     public long getNextSequenceID() {
00424         return 0;
00425     }
00426     
00427     
00428 }

Generated on Mon Jan 22 15:16:10 2007 for ProActive by  doxygen 1.5.1