Package org.verapdf.cos.filters
Class COSFilterRC4DecryptionDefault
java.lang.Object
java.io.InputStream
org.verapdf.as.io.ASInputStream
org.verapdf.as.filters.ASInFilter
org.verapdf.as.filters.io.ASBufferedInFilter
org.verapdf.cos.filters.COSFilterRC4DecryptionDefault
- All Implemented Interfaces:
Closeable
,AutoCloseable
Filter that decrypts data using RC4 cipher decryption according to Algorithm
1 of 7.6.2 of ISO 32000:2008.
- Author:
- Sergey Shemyakov
-
Field Summary
FieldsFields inherited from class org.verapdf.as.filters.io.ASBufferedInFilter
BF_BUFFER_SIZE, buffer, START_BUFFER_SIZE
Fields inherited from class org.verapdf.as.io.ASInputStream
isClosed, isSourceClosed, resourceUsers
-
Constructor Summary
ConstructorsConstructorDescriptionCOSFilterRC4DecryptionDefault
(ASInputStream stream, COSKey objectKey, byte[] encryptionKey) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]
getObjectKeyDigest
(COSKey objectKey) Gets a byte string consisting of object number and object generation concatenated.int
read
(byte[] buffer, int size) int
read
(byte[] buffer, int off, int size) void
reset()
Methods inherited from class org.verapdf.as.filters.io.ASBufferedInFilter
addToBuffer, bufferPop, bufferPopArray, bufferSize, closeResource, concatenate, feedBuffer, getBufferBegin, getBufferCapacity, getBufferEnd, getReadCounter, getStream, getStreamUntilToken, initialize, isEOF, peek, peek, processBuffer, read, readByte, resetReadCounter, skip, unread, unread
Methods inherited from class org.verapdf.as.filters.ASInFilter
close, decrementResourceUsers, getInputStream, incrementResourceUsers, read, setInputStream
Methods inherited from class org.verapdf.as.io.ASInputStream
createStreamFromStream
Methods inherited from class java.io.InputStream
available, mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, skip, skipNBytes, transferTo
-
Field Details
-
MAXIMAL_KEY_LENGTH
public static final int MAXIMAL_KEY_LENGTH- See Also:
-
-
Constructor Details
-
COSFilterRC4DecryptionDefault
public COSFilterRC4DecryptionDefault(ASInputStream stream, COSKey objectKey, byte[] encryptionKey) throws IOException, NoSuchAlgorithmException Constructor.- Parameters:
stream
- is stream with encrypted data.objectKey
- contains object and generation numbers from object identifier for object that is being decrypted. If it is direct object, objectKey is taken from indirect object that contains it.encryptionKey
- is encryption key that is calculated from user password and encryption dictionary.- Throws:
IOException
NoSuchAlgorithmException
-
-
Method Details
-
read
- Overrides:
read
in classASBufferedInFilter
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
reset
- Overrides:
reset
in classASBufferedInFilter
- Throws:
IOException
-
getObjectKeyDigest
Gets a byte string consisting of object number and object generation concatenated.- Parameters:
objectKey
- is key of object.- Returns:
- byte string consisting of object number and object generation concatenated.
-