Class SaferObjectInputStream
java.lang.Object
java.io.InputStream
java.io.ObjectInputStream
com.inductiveautomation.ignition.common.util.SaferObjectInputStream
- All Implemented Interfaces:
- Closeable,- DataInput,- ObjectInput,- ObjectStreamConstants,- AutoCloseable
Default java deserialization is dangerous with untrusted payloads. This subclass of ObjectInputStream
 accepts a "whitelist" of acceptable classes to load.
 
 See https://inst.eecs.berkeley.edu/~cs161/fa05/Notes/objectSerialization.pdf
- 
Nested Class SummaryNested classes/interfaces inherited from class java.io.ObjectInputStreamObjectInputStream.GetField
- 
Field SummaryFieldsModifier and TypeFieldDescriptionDefault whitelist accepts strings, dates, numbersFields inherited from interface java.io.ObjectStreamConstantsbaseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, SERIAL_FILTER_PERMISSION, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
- 
Constructor SummaryConstructors
- 
Method SummaryMethods inherited from class java.io.ObjectInputStreamavailable, close, defaultReadObject, enableResolveObject, getObjectInputFilter, read, read, readBoolean, readByte, readChar, readDouble, readFields, readFloat, readFully, readFully, readInt, readLine, readLong, readObject, readObjectOverride, readShort, readStreamHeader, readUnshared, readUnsignedByte, readUnsignedShort, readUTF, registerValidation, resolveClass, resolveObject, resolveProxyClass, setObjectInputFilter, skipBytesMethods inherited from class java.io.InputStreammark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferToMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.io.ObjectInputread, skip
- 
Field Details- 
DEFAULT_WHITELISTDefault whitelist accepts strings, dates, numbers
 
- 
- 
Constructor Details- 
SaferObjectInputStream- Throws:
- IOException
 
- 
SaferObjectInputStream- Throws:
- IOException
 
 
- 
- 
Method Details- 
readClassDescriptor- Overrides:
- readClassDescriptorin class- ObjectInputStream
- Throws:
- IOException
- ClassNotFoundException
 
 
-