diff options
Diffstat (limited to 'lib/asn1kit/types/useful_types.rb')
-rw-r--r-- | lib/asn1kit/types/useful_types.rb | 36 |
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 |