aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1kit/types/useful_types.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/asn1kit/types/useful_types.rb')
-rw-r--r--lib/asn1kit/types/useful_types.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/asn1kit/types/useful_types.rb b/lib/asn1kit/types/useful_types.rb
new file mode 100644
index 0000000..f868879
--- /dev/null
+++ b/lib/asn1kit/types/useful_types.rb
@@ -0,0 +1,36 @@
+# coding: ASCII-8BIT
+
+class ASN1Kit::UTCTime < ASN1Kit::VisibleString
+ TAG_NUMBER = 23
+
+ def initialize(value)
+ case value
+ when String
+ @value = value
+ when Time
+ if value.utc_offset == 0
+ @value = value.strftime("%y%m%d%H%M%SZ")
+ else
+ @value = value.strftime("%y%m%d%H%M%S%z")
+ end
+ else
+ raise ArgumentError, "%p cannot be parsed" % value
+ end
+ end
+
+ def to_time
+ raise NotImplementedError
+ end
+
+ def to_der
+ raise NotImplementedError
+ end
+end
+
+class ASN1Kit::GeneralizedTime < ASN1Kit::VisibleString
+ TAG_NUMBER = 24
+end
+
+class ASN1Kit::ObjectDescriptor < ASN1Kit::Type
+ TAG_NUMBER = 7
+end