class OpenSSL::ASN1::ObjectId

[edit]

要約

ASN.1 のオブジェクト識別子を表すクラス。

* ITU-T X.660 https://www.itu.int/rec/T-REC-X.660/en

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

OpenSSL::ASN1::Primitiveから継承しているメソッド
OpenSSL::ASN1::ASN1Dataから継承しているメソッド

特異メソッド

new(value) -> OpenSSL::ASN1::ObjectId[permalink][rdoc][edit]
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"
[PARAM] value:
ASN.1 オブジェクト識別子を表す文字列
[PARAM] tag:
タグ番号
[PARAM] tagging:
タグ付けの方法(:IMPLICIT もしくは :EXPLICIT)
[PARAM] tag_class:
タグクラス(:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION, :PRIVATE のいずれか)
register(oid, short_name, long_name) -> true[permalink][rdoc][edit]

オブジェクト識別子に対応する名前(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"
[PARAM] oid:
登録する識別子(ドット区切り数字表記の文字列)
[PARAM] short_name:
short nameとして登録する文字列
[PARAM] long_name:
long nameとして登録する文字列
[EXCEPTION] OpenSSL::ASN1::ASN1Error:
登録に失敗した場合に発生します。

インスタンスメソッド

ln -> String | nil[permalink][rdoc][edit]
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][edit]

オブジェクト識別子のドット区切り数値を文字列で返します。

例:

require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.oid   #=> "2.5.29.17"
[EXCEPTION] OpenSSL::ASN1::ASN1Error:
オブジェクト識別子名が未知である場合に発生します
sn -> String | nil[permalink][rdoc][edit]
short_name -> String | nil

オブジェクト識別子に対応する short name を返します。

例:

require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.sn   #=> "subjectAltName"

[SEE_ALSO] OpenSSL::ASN1::ObjectId#ln