diff options
Diffstat (limited to 'lib/asn1kit/types/character_string_types.rb')
-rw-r--r-- | lib/asn1kit/types/character_string_types.rb | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/asn1kit/types/character_string_types.rb b/lib/asn1kit/types/character_string_types.rb new file mode 100644 index 0000000..93a5682 --- /dev/null +++ b/lib/asn1kit/types/character_string_types.rb @@ -0,0 +1,61 @@ +# coding: ASCII-8BIT + +module ASN1Kit + class CharacterStringType < Type + attr_reader :value + + def initialize(string) + @value = string + end + + def to_der + der_header(@value.bytesize) << @value + end + end + + class UTF8String < CharacterStringType + asn1_tag :IMPLICIT, :UNIVERSAL, 12 + end + + class NumericString < CharacterStringType + asn1_tag :IMPLICIT, :UNIVERSAL, 18 + end + + class PrintableString < CharacterStringType + TAG_NUMBER = 19 + end + + class TeletexString < CharacterStringType + TAG_NUMBER = 20 + end + T61String = TeletexString + + class VideotexString < CharacterStringType + TAG_NUMBER = 21 + end + + class IA5String < CharacterStringType + TAG_NUMBER = 22 + end + + class GraphicString < CharacterStringType + TAG_NUMBER = 25 + end + + class VisibleString < CharacterStringType + TAG_NUMBER = 26 + end + ISO646String = VisibleString + + class GeneralString < CharacterStringType + TAG_NUMBER = 27 + end + + class UniversalString < CharacterStringType + TAG_NUMBER = 28 + end + + class BMPString < CharacterStringType + TAG_NUMBER = 30 + end +end |