aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ModDetectionCodePacket.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ModDetectionCodePacket.java')
-rw-r--r--libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ModDetectionCodePacket.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ModDetectionCodePacket.java b/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ModDetectionCodePacket.java
new file mode 100644
index 000000000..70bf4d27f
--- /dev/null
+++ b/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/ModDetectionCodePacket.java
@@ -0,0 +1,45 @@
+package org.spongycastle.bcpg;
+
+import java.io.*;
+
+/**
+ * basic packet for a modification detection code packet.
+ */
+public class ModDetectionCodePacket
+ extends ContainedPacket
+{
+ private byte[] digest;
+
+ ModDetectionCodePacket(
+ BCPGInputStream in)
+ throws IOException
+ {
+ this.digest = new byte[20];
+ in.readFully(this.digest);
+ }
+
+ public ModDetectionCodePacket(
+ byte[] digest)
+ throws IOException
+ {
+ this.digest = new byte[digest.length];
+
+ System.arraycopy(digest, 0, this.digest, 0, this.digest.length);
+ }
+
+ public byte[] getDigest()
+ {
+ byte[] tmp = new byte[digest.length];
+
+ System.arraycopy(digest, 0, tmp, 0, tmp.length);
+
+ return tmp;
+ }
+
+ public void encode(
+ BCPGOutputStream out)
+ throws IOException
+ {
+ out.writePacket(MOD_DETECTION_CODE, digest, false);
+ }
+}