Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'pg/src/main/java/org/spongycastle/bcpg/sig/SignatureExpirationTime.java')
-rw-r--r--pg/src/main/java/org/spongycastle/bcpg/sig/SignatureExpirationTime.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/pg/src/main/java/org/spongycastle/bcpg/sig/SignatureExpirationTime.java b/pg/src/main/java/org/spongycastle/bcpg/sig/SignatureExpirationTime.java
new file mode 100644
index 00000000..bcf1444d
--- /dev/null
+++ b/pg/src/main/java/org/spongycastle/bcpg/sig/SignatureExpirationTime.java
@@ -0,0 +1,48 @@
+package org.spongycastle.bcpg.sig;
+
+import org.spongycastle.bcpg.SignatureSubpacket;
+import org.spongycastle.bcpg.SignatureSubpacketTags;
+
+/**
+ * packet giving signature expiration time.
+ */
+public class SignatureExpirationTime
+ extends SignatureSubpacket
+{
+ protected static byte[] timeToBytes(
+ long t)
+ {
+ byte[] data = new byte[4];
+
+ data[0] = (byte)(t >> 24);
+ data[1] = (byte)(t >> 16);
+ data[2] = (byte)(t >> 8);
+ data[3] = (byte)t;
+
+ return data;
+ }
+
+ public SignatureExpirationTime(
+ boolean critical,
+ byte[] data)
+ {
+ super(SignatureSubpacketTags.EXPIRE_TIME, critical, data);
+ }
+
+ public SignatureExpirationTime(
+ boolean critical,
+ long seconds)
+ {
+ super(SignatureSubpacketTags.EXPIRE_TIME, critical, timeToBytes(seconds));
+ }
+
+ /**
+ * return time in seconds before signature expires after creation time.
+ */
+ public long getTime()
+ {
+ long time = ((long)(data[0] & 0xff) << 24) | ((data[1] & 0xff) << 16) | ((data[2] & 0xff) << 8) | (data[3] & 0xff);
+
+ return time;
+ }
+}