Class: OpenSSL::ASN1::ObjectId
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: | |
| Instance Chain: | |
| Inherits: | OpenSSL::ASN1::Primitive 
 | 
| Defined in: | ext/openssl/ossl_asn1.c, ext/openssl/ossl_asn1.c | 
Overview
Represents the primitive object id for ::OpenSSL::ASN1
Class Method Summary
- 
    
      .register(object_id, short_name, long_name)  
    
    This adds a new ObjectIdto the internal tables.
ASN1Data - Inherited
| .new | value: Please have a look at  | 
Instance Attribute Summary
TaggedASN1Data - Included
| #tagging | May be used as a hint for encoding a value either implicitly or explicitly by setting it either to  | 
ASN1Data - Inherited
| #indefinite_length | Never  | 
| #infinite_length | Alias for ASN1Data#indefinite_length. | 
| #tag | An Integer representing the tag number of this  | 
| #tag_class | A Symbol representing the tag class of this  | 
| #value | Carries the value of a  | 
Instance Method Summary
- 
    
      #==(other_oid)  ⇒ Boolean 
    
    Returns trueif other_oid is the same as oid.
- 
    
      #ln  ⇒ String 
      (also: #long_name)
    
    The long name of the ObjectId, as defined in <openssl/objects.h>.
- 
    
      #long_name  ⇒ String 
    
    Alias for #ln. 
- 
    
      #oid  ⇒ String 
    
    Returns a String representing the ::ObjectIdentifier in the dot notation, e.g.
- 
    
      #short_name  ⇒ String 
    
    Alias for #sn. 
- 
    
      #sn  ⇒ String 
      (also: #short_name)
    
    The short name of the ObjectId, as defined in <openssl/objects.h>.
Primitive - Inherited
| #to_der | See ASN1Data#to_der for details. | 
TaggedASN1Data - Included
| #initialize | value: is mandatory. | 
ASN1Data - Inherited
Constructor Details
This class inherits a constructor from OpenSSL::ASN1::ASN1Data
Class Method Details
.register(object_id, short_name, long_name)
This adds a new ObjectId to the internal tables. Where object_id is the numerical form, short_name is the short name, and long_name is the long name.
Returns true if successful. Raises an ASN1Error if it fails.
# File 'ext/openssl/ossl_asn1.c', line 1117
static VALUE
ossl_asn1obj_s_register(VALUE self, VALUE oid, VALUE sn, VALUE ln)
{
    StringValueCStr(oid);
    StringValueCStr(sn);
    StringValueCStr(ln);
    if(!OBJ_create(RSTRING_PTR(oid), RSTRING_PTR(sn), RSTRING_PTR(ln)))
	ossl_raise(eASN1Error, NULL);
    return Qtrue;
}
  Instance Method Details
#==(other_oid) ⇒ Boolean
Returns true if other_oid is the same as oid.
# File 'ext/openssl/ossl_asn1.c', line 1220
static VALUE
ossl_asn1obj_eq(VALUE self, VALUE other)
{
    VALUE oid1, oid2;
    if (!rb_obj_is_kind_of(other, cASN1ObjectId))
        return Qfalse;
    oid1 = ossl_asn1obj_get_oid(self);
    oid2 = ossl_asn1obj_get_oid(other);
    return rb_str_equal(oid1, oid2);
}
  
    
      #ln  ⇒ String 
      #long_name  ⇒ String 
    
    Also known as: #long_name
  
String 
      #long_name  ⇒ String 
    The long name of the ObjectId, as defined in <openssl/objects.h>.
# File 'ext/openssl/ossl_asn1.c', line 1157
static VALUE
ossl_asn1obj_get_ln(VALUE self)
{
    VALUE val, ret = Qnil;
    int nid;
    val = ossl_asn1_get_value(self);
    if ((nid = OBJ_txt2nid(StringValueCStr(val))) != NID_undef)
	ret = rb_str_new2(OBJ_nid2ln(nid));
    return ret;
}
  
    
      #ln  ⇒ String 
      #long_name  ⇒ String 
    
  
String 
      #long_name  ⇒ String 
    Alias for #ln.
    #oid  ⇒ String   
Returns a String representing the ::Object Identifier in the dot notation, e.g. “1.2.3.4.5”
# File 'ext/openssl/ossl_asn1.c', line 1199
static VALUE
ossl_asn1obj_get_oid(VALUE self)
{
    VALUE str;
    ASN1_OBJECT *a1obj;
    int state;
    a1obj = obj_to_asn1obj(ossl_asn1_get_value(self));
    str = rb_protect(asn1obj_get_oid_i, (VALUE)a1obj, &state);
    ASN1_OBJECT_free(a1obj);
    if (state)
	rb_jump_tag(state);
    return str;
}
  
    
      #sn  ⇒ String 
      #short_name  ⇒ String 
    
  
String 
      #short_name  ⇒ String 
    Alias for #sn.
    
      #sn  ⇒ String 
      #short_name  ⇒ String 
    
    Also known as: #short_name
  
String 
      #short_name  ⇒ String 
    The short name of the ObjectId, as defined in <openssl/objects.h>.
# File 'ext/openssl/ossl_asn1.c', line 1137
static VALUE
ossl_asn1obj_get_sn(VALUE self)
{
    VALUE val, ret = Qnil;
    int nid;
    val = ossl_asn1_get_value(self);
    if ((nid = OBJ_txt2nid(StringValueCStr(val))) != NID_undef)
	ret = rb_str_new2(OBJ_nid2sn(nid));
    return ret;
}