ASN.1 のオブジェクト識別子を表すクラス。
* ITU-T X.660 https://www.itu.int/rec/T-REC-X.660/en
new(value) -> OpenSSL::ASN1::ObjectId
[permalink][rdoc]new(value, tag, tagging, tag_class) -> OpenSSL::ASN1::ObjectId
ASN.1 のオブジェクト識別子を表わす OpenSSL::ASN1::ObjectId のオブジェクトを生成します。
value としては、ドット区切り数字表記、short name、long name の文字列のをいずれかを渡します。
value 以外の引数を省略した場合はタグクラスは :UNIVERSAL、タグ は OpenSSL::ASN1::OBJECT となります。
例:
require "openssl" include OpenSSL p ASN1::ObjectId.new("1.2.840.10040.4.3").long_name # => "dsaWithSHA1" p ASN1::ObjectId.new("dsaWithSHA1").oid # => "1.2.840.10040.4.3"
register(oid, short_name, long_name) -> true
[permalink][rdoc]オブジェクト識別子に対応する名前(short name と long name)を OpenSSLの内部テーブルに登録します。
登録した名前は OpenSSL::X509::Extension などで利用できるようになります。
例:
require "openssl" OpenSSL::ASN1::ObjectId.register( "2.5.29.9", "subjectDirAttrs", "X509v3 Subject Directory Attributes") p OpenSSL::ASN1::ObjectId.new("2.5.29.9").long_name # => "X509v3 Subject Directory Attributes"
ln -> String | nil
[permalink][rdoc]long_name -> String | nil
オブジェクト識別子に対応する long name を返します。
例:
require "openssl" oid = OpenSSL::ASN1::ObjectId.new("subjectAltName") p oid.ln #=> "X509v3 Subject Alternative Name"
[SEE_ALSO] OpenSSL::ASN1::ObjectId#sn
oid -> String
[permalink][rdoc]オブジェクト識別子のドット区切り数値を文字列で返します。
例:
require "openssl" oid = OpenSSL::ASN1::ObjectId.new("subjectAltName") p oid.oid #=> "2.5.29.17"
sn -> String | nil
[permalink][rdoc]short_name -> String | nil
オブジェクト識別子に対応する short name を返します。
例:
require "openssl" oid = OpenSSL::ASN1::ObjectId.new("subjectAltName") p oid.sn #=> "subjectAltName"
[SEE_ALSO] OpenSSL::ASN1::ObjectId#ln