diff options
Diffstat (limited to 'bcpkix/src/main/java/org/bouncycastle/operator/OutputEncryptor.java')
-rw-r--r-- | bcpkix/src/main/java/org/bouncycastle/operator/OutputEncryptor.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/bcpkix/src/main/java/org/bouncycastle/operator/OutputEncryptor.java b/bcpkix/src/main/java/org/bouncycastle/operator/OutputEncryptor.java new file mode 100644 index 0000000..383e1fd --- /dev/null +++ b/bcpkix/src/main/java/org/bouncycastle/operator/OutputEncryptor.java @@ -0,0 +1,36 @@ +package org.bouncycastle.operator; + +import java.io.OutputStream; + +import org.bouncycastle.asn1.x509.AlgorithmIdentifier; + +/** + * General interface for an operator that is able to produce + * an OutputStream that will output encrypted data. + */ +public interface OutputEncryptor +{ + /** + * Return the algorithm identifier describing the encryption + * algorithm and parameters this encryptor uses. + * + * @return algorithm oid and parameters. + */ + AlgorithmIdentifier getAlgorithmIdentifier(); + + /** + * Wrap the passed in output stream encOut, returning an output stream + * that encrypts anything passed in before sending on to encOut. + * + * @param encOut output stream for encrypted output. + * @return an encrypting OutputStream + */ + OutputStream getOutputStream(OutputStream encOut); + + /** + * Return the key used for encrypting the output. + * + * @return the encryption key. + */ + GenericKey getKey(); +} |