Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * JBoss, Home of Professional Open Source
  * Copyright 2005, JBoss Inc., and individual contributors as indicated
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * Lesser General Public License for more details.
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site:
 package org.jboss.remoting.marshal.encryption;
 import java.util.Map;
EncryptingMarshaller and EncryptingUnMarshaller are a general purpose encrypting marshaller / decompressing unmarshaller pair based on Java's crypto stream facilities.

EncryptingUnMarshaller is subclassed from SerializableUnMarshaller, and by default it uses to deserialize an object, once the object has been decrypted. Optionally, it can wrap any other unmarshaller and use that instead of SerializableUnMarshaller to unmarshall an encrypted input stream. For example,

new EncryptingUnMarshaller(new HTTPUnMarshaller())

will create an umarshaller that uses an HTTPUnMarshaller to restore an unencrypted input stream.

$Revision: 2385 $
The serialVersionUID
    private static final long serialVersionUID = 1L;
    public final static String DATATYPE = "encrypt";
    private UnMarshaller wrappedUnMarshaller
    private Cipher cipher = EncryptionManager.getCipher(.);

Create a new EncryptingUnMarshaller.
    public EncryptingUnMarshaller()

Create a new EncryptingUnMarshaller.

unMarshaller unmarshaller to be used to restore unencrypted byte stream to original object
    public EncryptingUnMarshaller(UnMarshaller unMarshaller)
        = unMarshaller;

Set the Cipher Algorithm to use

    public void setCipherAlgorithm(String algo)
       this. = algo;
       = EncryptionManager.getCipher(.this.);

Restores a encrypted, marshalled form of an object to its original state.

inputStream InputStream from which marshalled form is to be retrieved
metadata can be any transport specific metadata (such as headers from http transport). This can be null, depending on if transport supports metadata.
version wire format version
restored object
Throws: if there is a problem reading from inputStream
java.lang.ClassNotFoundException if there is a problem finding a class needed for unmarshalling
   public Object read(InputStream inputStreamMap metadataint versionthrows IOExceptionClassNotFoundException
      if( == null)
         throw new IllegalStateException("Cipher is null for algo="this.);
      CipherInputStream cis = new CipherInputStream(inputStream,);
      SerializationManager sm = SerializationStreamFactory.getManagerInstance(getSerializationType());
      ObjectInputStream ois = sm.createRegularInput(cis);
      Object obj = null;
      if( != null)
         if ( instanceof VersionedUnMarshaller)
            return ((VersionedUnMarshaller)).read(oismetadataversion);
            obj = .read(oismetadata); 
         obj =;
      return obj;

Returns a new EncryptingUnMarshaller

a new EncryptingUnMarshaller
java.lang.CloneNotSupportedException In practice no exceptions are thrown.
      return um;
New to GrepCode? Check out our FAQ X