Package net.handle.hdllib
Class SignedOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- net.handle.hdllib.SignedOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public class SignedOutputStream extends java.io.FilterOutputStreamObjects of this class can be used to sign the contents of a stream that can be verified by a SignedInputStream class. Note: This is not a part of the official handle protocol specification. This was introduced by CNRI solely for replication in the Handle.net software.
-
-
Constructor Summary
Constructors Constructor Description SignedOutputStream(java.io.OutputStream out)SignedOutputStream(java.security.cert.X509Certificate certificate, java.security.PrivateKey sourceKey, java.io.OutputStream out, java.net.Socket socket)SignedOutputStream(java.security.PrivateKey sourceKey, java.io.OutputStream out)Create a stream that can verify the data read from the stream in blocks.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidsignBlock()Signs the bytes written since the last signature on the stream.voidwrite(byte[] b)voidwrite(byte[] b, int off, int len)voidwrite(int b)Write a byte to the stream.
-
-
-
Constructor Detail
-
SignedOutputStream
public SignedOutputStream(java.security.PrivateKey sourceKey, java.io.OutputStream out) throws HandleException, java.io.IOExceptionCreate a stream that can verify the data read from the stream in blocks. The caller should call the verifyBlock method at the end of every block of data that needs to be verified. verifyBlock must be called at the same position in the stream that signBlock was called in the parallel SignedOutputStream object that generated the stream.- Throws:
HandleExceptionjava.io.IOException
-
SignedOutputStream
public SignedOutputStream(java.io.OutputStream out) throws java.io.IOException- Throws:
java.io.IOException
-
SignedOutputStream
public SignedOutputStream(java.security.cert.X509Certificate certificate, java.security.PrivateKey sourceKey, java.io.OutputStream out, java.net.Socket socket) throws HandleException, java.io.IOException- Throws:
HandleExceptionjava.io.IOException
-
-
Method Detail
-
write
public void write(int b) throws java.io.IOExceptionWrite a byte to the stream.- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
signBlock
public void signBlock() throws java.io.IOException, java.security.SignatureExceptionSigns the bytes written since the last signature on the stream. This should be called at the exact same point in the stream as the verifyBlock method in the SignedInputStream class.- Throws:
java.io.IOExceptionjava.security.SignatureException
-
-