класс OpenSSL::ASN1::ObjectId
Представляет примитивный идентификатор объекта для OpenSSL::ASN1
Публичные методы класса
OpenSSL::ASN1::ObjectId.register(object_id, short_name, long_name) Показать исходный код
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;
} Это добавляет новый ObjectId в внутренние таблицы. Где object_id — числовое представление, short_name — короткое имя, а long_name — полное имя.
Возвращает true в случае успеха. Вызывает OpenSSL::ASN1::ASN1Error, если произошла ошибка.
Публичные методы экземпляра
oid == other_oid → true или false Показать исходный код
static VALUE
ossl_asn1obj_eq(VALUE self, VALUE other)
{
VALUE valSelf, valOther;
int nidSelf, nidOther;
valSelf = ossl_asn1_get_value(self);
valOther = ossl_asn1_get_value(other);
if ((nidSelf = OBJ_txt2nid(StringValueCStr(valSelf))) == NID_undef)
ossl_raise(eASN1Error, "OBJ_txt2nid");
if ((nidOther = OBJ_txt2nid(StringValueCStr(valOther))) == NID_undef)
ossl_raise(eASN1Error, "OBJ_txt2nid");
return nidSelf == nidOther ? Qtrue : Qfalse;
} Возвращает true если other_oid совпадает с oid
ln → строка Показать исходный код
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;
} Полное имя ObjectId, как определено в <openssl/objects.h>.
Также алиас: long_name
oid → строка Показать исходный код
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;
} Возвращает String, представляющую Object идентификатор в точечной нотации, например, “1.2.3.4.5”
sn → строка Показать исходный код
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;
} Короткое имя ObjectId, как определено в <openssl/objects.h>.
Также алиас: short_name
Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.