Ruby 2.4
OpenSSL

OpenSSL::ASN1::ObjectId

类 OpenSSL :: ASN1 :: ObjectId

家长:OpenSSL的:: ASN1 :: 原始

代表 OpenSSL :: ASN1 的原始对象 ID

公共类方法

OpenSSL :: ASN1 :: ObjectId.register(object_id,short_name,long_name) 显示源文件

这为内部表添加了一个新的 ObjectId。object_id数字形式在哪里,short_name是简称,long_name是长名。

如果成功则返回true。如果失败,则引发 OpenSSL :: ASN1 :: ASN1Error。

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; }

公共实例方法

ln()显示源文件

ObjectId 的长名称,在<openssl / objects.h>中定义。

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; }

另外别名为:long_name

long_name()

别名为:ln

oid()显示源文件

对象标识符为一个 String,例如“1.2.3.4.5”

static VALUE ossl_asn1obj_get_oid(VALUE self) { VALUE val; ASN1_OBJECT *a1obj; char buf[128]; val = ossl_asn1_get_value(self a1obj = obj_to_asn1obj(val OBJ_obj2txt(buf, sizeof(buf), a1obj, 1 ASN1_OBJECT_free(a1obj return rb_str_new2(buf }

short_name()

别名为:sn

sn()显示源代码

ObjectId 的简称,如<openssl / objects.h>中定义的。

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; }

另外别名为:short_name