The parent class for all primitive encodings. Attributes are the same as
for ASN1Data, with the addition of
tagging. Primitive values can
never be infinite length encodings, thus it is not possible to set the
infinite_length attribute for Primitive and its sub-classes.
Primitive sub-classes and their mapping to Ruby classes
-
OpenSSL::ASN1::EndOfContent <=>
valueis alwaysnil -
OpenSSL::ASN1::Boolean <=>
valueis aBoolean -
OpenSSL::ASN1::Integer <=>
valueis aNumber -
OpenSSL::ASN1::BitString <=>
valueis aString -
OpenSSL::ASN1::OctetString <=>
valueis aString -
OpenSSL::ASN1::Null <=>
valueis alwaysnil -
OpenSSL::ASN1::Object <=>
valueis aString -
OpenSSL::ASN1::Enumerated <=>
valueis aNumber -
OpenSSL::ASN1::UTF8String <=>
valueis aString -
OpenSSL::ASN1::NumericString <=>
valueis aString -
OpenSSL::ASN1::PrintableString <=>
valueis aString -
OpenSSL::ASN1::T61String <=>
valueis aString -
OpenSSL::ASN1::VideotexString <=>
valueis aString -
OpenSSL::ASN1::IA5String <=>
valueis aString -
OpenSSL::ASN1::UTCTime <=>
valueis aTime -
OpenSSL::ASN1::GeneralizedTime <=>
valueis aTime -
OpenSSL::ASN1::GraphicString <=>
valueis aString -
OpenSSL::ASN1::ISO64String <=>
valueis aString -
OpenSSL::ASN1::GeneralString <=>
valueis aString -
OpenSSL::ASN1::UniversalString <=>
valueis aString -
OpenSSL::ASN1::BMPString <=>
valueis aString
OpenSSL::ASN1::BitString
Additional attributes
unused_bits: if the underlying BIT STRING's length is a
multiple of 8 then unused_bits is 0. Otherwise
unused_bits indicates the number of bits that are to be
ignored in the final octet of the BitString's
value.
OpenSSL::ASN1::ObjectId
Additional attributes
-
sn: the short name as defined in <openssl/objects.h>. -
ln: the long name as defined in <openssl/objects.h>. -
oid: the object identifier as aString, e.g. “1.2.3.4.5” -
short_name: alias forsn. -
long_name: alias forln.
Examples
With the Exception of
OpenSSL::ASN1::EndOfContent, each Primitive
class constructor takes at least one parameter, the value.
Creating EndOfContent
eoc = OpenSSL::ASN1::EndOfContent.new
Creating any other Primitive
prim = <class>.new(value) # <class> being one of the sub-classes except EndOfContent prim_zero_tagged_implicit = <class>.new(value, 0, :IMPLICIT) prim_zero_tagged_explicit = <class>.new(value, 0, :EXPLICIT)