mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-13 03:09:04 +01:00
Moved stream crypto to crypto component.
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package org.briarproject.api.crypto;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public interface StreamDecrypter {
|
||||
|
||||
/**
|
||||
* Reads a frame, decrypts its payload into the given buffer and returns
|
||||
* the payload length, or -1 if no more frames can be read from the stream.
|
||||
* @throws java.io.IOException if an error occurs while reading the frame,
|
||||
* or if authenticated decryption fails.
|
||||
*/
|
||||
int readFrame(byte[] payload) throws IOException;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.briarproject.api.crypto;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.briarproject.api.transport.StreamContext;
|
||||
|
||||
public interface StreamDecrypterFactory {
|
||||
|
||||
/** Creates a {@link StreamDecrypter} for decrypting a transport stream. */
|
||||
StreamDecrypter createStreamDecrypter(InputStream in, int maxFrameLength,
|
||||
StreamContext ctx);
|
||||
|
||||
/**
|
||||
* Creates a {@link StreamDecrypter} for decrypting an invitation stream.
|
||||
*/
|
||||
StreamDecrypter createInvitationStreamDecrypter(InputStream in,
|
||||
int maxFrameLength, byte[] secret, boolean alice);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package org.briarproject.api.crypto;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public interface StreamEncrypter {
|
||||
|
||||
/** Encrypts the given frame and writes it to the stream. */
|
||||
void writeFrame(byte[] payload, int payloadLength, boolean finalFrame)
|
||||
throws IOException;
|
||||
|
||||
/** Flushes the stream. */
|
||||
void flush() throws IOException;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.briarproject.api.crypto;
|
||||
|
||||
import java.io.OutputStream;
|
||||
|
||||
import org.briarproject.api.transport.StreamContext;
|
||||
|
||||
public interface StreamEncrypterFactory {
|
||||
|
||||
/** Creates a {@link StreamEncrypter} for encrypting a transport stream. */
|
||||
StreamEncrypter createStreamEncrypter(OutputStream out,
|
||||
int maxFrameLength, StreamContext ctx);
|
||||
|
||||
/**
|
||||
* Creates a {@link StreamEncrypter} for encrypting an invitation stream.
|
||||
*/
|
||||
StreamEncrypter createInvitationStreamEncrypter(OutputStream out,
|
||||
int maxFrameLength, byte[] secret, boolean alice);
|
||||
}
|
||||
Reference in New Issue
Block a user