要約
X.509 v3 証明書の拡張領域のためのクラスです。
OpenSSL::X509::Certificate オブジェクトはその拡張領域を Extension オブジェクトの配列として保持し、 OpenSSL::X509::Certificate#extensions でその配列が得られます。
このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を取り扱う必要があり面倒です。 OpenSSL::X509::ExtensionFactory を用いることでインスタンスの生成を簡便に行うことができます。
参照
目次
特異メソッド
new(der) -> OpenSSL::X509::Extension[permalink][rdoc][edit]new(oid, value, critical=false) -> OpenSSL::X509::Extension-
OpenSSL::X509::Extension オブジェクトを生成します。
引数が1つの場合は DER 形式の文字列を渡します。
引数が2つ以上の場合は、oid には拡張領域の OID の ドット区切り表記、 short name、long name のいずれかである文字列を与えます。 value にはその値を表す DER 形式の文字列、もしくは OpenSSL::ASN1::ASN1Data のサブクラスを与えます。
例require 'openssl' include OpenSSL oid = "subjectKeyIdentifier" val = "\004\024\206\312\245\"\201b\357\255\n\211\274\255rA,)I\364\206V" ex = X509::Extension.new(oid, val) p ex.value # => "86:CA:A5:22:81:62:EF:AD:0A:89:BC:AD:72:41:2C:29:49:F4:86:56" ex2 = X509::Extension.new("2.5.29.19", "0\x03\x01\x01\xFF") p ex2.oid # => "basicConstrains" ex3 = X509::Extension.new("basicConstraints", ASN1.Sequence([ASN1::Boolean(false)])) p ex3 # => basicConstraints = CA:FALSE- [PARAM]
der: - DER形式の文字列
- [PARAM]
oid: - OIDを表す文字列(ドット区切り、short name, long nameのいずれか)
- [PARAM]
value: - 拡張領域の値を表す DER 形式文字列
- [PARAM]
critical: - 拡張領域の重要度
- [PARAM]
インスタンスメソッド
critical=(bool)[permalink][rdoc][edit]-
その拡張領域の重要度(critical)を真偽値で設定します。
- [PARAM]
bool: - 設定する重要度の真偽値
[SEE_ALSO] OpenSSL::X509::Extension#critical?
- [PARAM]
critical? -> bool[permalink][rdoc][edit]-
その拡張領域の重要度(critical)を返します。
[SEE_ALSO] OpenSSL::X509::Extension#critical=
oid -> String[permalink][rdoc][edit]-
拡張領域の識別子(extnID)をOIDの文字列で返します。
[SEE_ALSO] OpenSSL::X509::Extension#oid=
oid=(oid)[permalink][rdoc][edit]-
拡張領域の識別子(extnID)をOIDの文字列で設定します。
- [PARAM]
oid: - OIDの文字列
- [EXCEPTION]
OpenSSL::X509::Extension: - 識別子の設定に失敗した場合に発生します
[SEE_ALSO] OpenSSL::X509::Extension#oid
- [PARAM]
to_a -> [String, String, bool][permalink][rdoc][edit]-
拡張領域の内容を、[識別子(extnID), 値(extnValue), 重要度(critical)] という形で返します。
to_der -> String[permalink][rdoc][edit]-
DER 形式のバイト列に変換して返します。
- [EXCEPTION]
OpenSSL::X509::Extension: - 変換に失敗した場合に発生します
- [EXCEPTION]
to_h -> Hash[permalink][rdoc][edit]-
拡張領域の内容を、
{ "oid" => 識別子(extnID), "value" => 値(extnValue), "critical" => 重要度(critical) }というハッシュで返します。
to_s -> String[permalink][rdoc][edit]-
拡張領域の内容を、文字列表現で返します。
value -> String[permalink][rdoc][edit]-
拡張領域の値(extnValue)を返します。
[SEE_ALSO] OpenSSL::X509::Extension#value=
value=(value)[permalink][rdoc][edit]-
拡張領域の値(extnValue)を設定します。
- [PARAM]
value: - 設定する値の文字列
- [EXCEPTION]
OpenSSL::X509::Extension: - 値の設定に失敗した場合に発生します
[SEE_ALSO] OpenSSL::X509::Extension#value
- [PARAM]