るりまサーチ (Ruby 2.7.0)

最速Rubyリファレンスマニュアル検索!
85件ヒット [1-85件を表示] (0.168秒)
トップページ > バージョン:2.7.0[x] > クエリ:openssl::x509::certificate[x]

別のキーワード

  1. new openssl::bn
  2. new openssl::asn1::asn1data
  3. new openssl::x509::certificate
  4. new openssl::pkey::ec::group
  5. start net::smtp

ライブラリ

モジュール

検索結果

OpenSSL::X509::Certificate.new -> OpenSSL::X509::Certificate (27325.0)

証明書オブジェクトを生成します。

証明書オブジェクトを生成します。

引数を与えなかった場合には、空の証明書を返します。

obj が String である場合には、それを
PEM 形式もしくは DER 形式の証明書データの文字列であると見なして
その内容から証明書オブジェクトを生成します。

obj が IO である場合には、そのファイルの中身から
証明書オブジェクトを生成します。

obj が OpenSSL::X509::Certificate オブジェクトである場合には、
そのオブジェクトの内容を複製します。

obj が to_der メソッドを持つ場合には、そのメソッドによって
DER 形式のバイト列に変換し、証明...

OpenSSL::X509::Certificate.new(obj) -> OpenSSL::X509::Certificate (27325.0)

証明書オブジェクトを生成します。

証明書オブジェクトを生成します。

引数を与えなかった場合には、空の証明書を返します。

obj が String である場合には、それを
PEM 形式もしくは DER 形式の証明書データの文字列であると見なして
その内容から証明書オブジェクトを生成します。

obj が IO である場合には、そのファイルの中身から
証明書オブジェクトを生成します。

obj が OpenSSL::X509::Certificate オブジェクトである場合には、
そのオブジェクトの内容を複製します。

obj が to_der メソッドを持つ場合には、そのメソッドによって
DER 形式のバイト列に変換し、証明...

OpenSSL::X509::Certificate#serial -> Integer (27019.0)

発行者 (CA) が証明書に付ける識別番号を返します。

発行者 (CA) が証明書に付ける識別番号を返します。

@see OpenSSL::X509::Certificate#serial=

OpenSSL::X509::Certificate#serial=(serial) (27019.0)

証明書の識別番号を設定します。

証明書の識別番号を設定します。

@param serial 識別番号
@see OpenSSL::X509::Certificate#serial

OpenSSL::X509::Certificate#add_extension(ext) -> OpenSSL::X509::Extension (27001.0)

拡張領域に拡張を追加します。

拡張領域に拡張を追加します。

@return 追加した拡張を返します
@param ext 追加する拡張(OpenSSL::X509::Extension オブジェクト)
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します

絞り込み条件を変える

OpenSSL::X509::Certificate#check_private_key(private_key) -> bool (27001.0)

与えられた秘密鍵が証明書に記載されている subject の公開鍵と対応するものかを確かめます。

与えられた秘密鍵が証明書に記載されている subject の公開鍵と対応するものかを確かめます。

確認に成功した場合に真を返します。
@param private_key 確認用の秘密鍵

OpenSSL::X509::Certificate#extensions -> [OpenSSL::X509::Extension] (27001.0)

証明書の拡張領域の内容を返します。

証明書の拡張領域の内容を返します。

OpenSSL::X509::Certificate#extensions=(extensions) (27001.0)

証明書の拡張領域の内容を設定します。

証明書の拡張領域の内容を設定します。

@param extensions 設定する拡張(OpenSSL::X509::Extension オブジェクト)の配列
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します

OpenSSL::X509::Certificate#issuer -> OpenSSL::X509::Name (27001.0)

証明書の発行者の名前を返します。

証明書の発行者の名前を返します。

OpenSSL::X509::Certificate#issuer=(name) (27001.0)

証明書の発行者の名前を設定します。

証明書の発行者の名前を設定します。

@param name 発行者の名前の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します

絞り込み条件を変える

OpenSSL::X509::Certificate#not_after -> Time (27001.0)

証明書が無効になる時刻を返します。

証明書が無効になる時刻を返します。

OpenSSL::X509::Certificate#not_after=(time) (27001.0)

証明書が無効になる時刻を設定します。

証明書が無効になる時刻を設定します。

@param time 証明書の終了時刻
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します

OpenSSL::X509::Certificate#not_before -> Time (27001.0)

証明書が有効になる時刻を返します。

証明書が有効になる時刻を返します。

OpenSSL::X509::Certificate#not_before=(time) (27001.0)

証明書が有効になる時刻を設定します。

証明書が有効になる時刻を設定します。

@param time 証明書の開始時刻
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します

OpenSSL::X509::Certificate#public_key -> OpenSSL::PKey::PKey (27001.0)

証明書に記載された公開鍵を返します。

証明書に記載された公開鍵を返します。

鍵の種類によって以下のいずれかのクラスのインスタンスを返します。
* OpenSSL::PKey::RSA
* OpenSSL::PKey::DSA
* OpenSSL::PKey::DH
* OpenSSL::PKey::EC

@raise OpenSSL::X509::CertificateError 鍵の取得に失敗した場合に発生します
@raise OpenSSL::PKey::PKeyError サポートしていない種類の鍵である場合に発生します

絞り込み条件を変える

OpenSSL::X509::Certificate#public_key=(pkey) (27001.0)

証明書に公開鍵を設定します。

証明書に公開鍵を設定します。

@param pkey 公開鍵(OpenSSL::PKey::PKeyのサブクラスのインスタンス)
@raise OpenSSL::X509::CertificateError 鍵の設定に失敗した場合に発生します

OpenSSL::X509::Certificate#sign(pkey, digest) -> self (27001.0)

証明書に署名します。

証明書に署名します。

DSA で署名する場合は digest は "dss1" でなければなりません。

@param pkey 発行者(issuer)の秘密鍵
@param digest ハッシュ関数を表す文字列

OpenSSL::X509::Certificate#signature_algorithm -> String (27001.0)

発行者 (CA) が証明書に署名するのに使ったアルゴリズムです。

発行者 (CA) が証明書に署名するのに使ったアルゴリズムです。

OpenSSL::X509::Certificate#subject -> OpenSSL::X509::Name (27001.0)

証明書の所有者の名前を返します。

証明書の所有者の名前を返します。

OpenSSL::X509::Certificate#subject=(name) (27001.0)

証明書の所有者の名前を設定します。

証明書の所有者の名前を設定します。

@param name 所有者の名前の OpenSSL::X509::Name オブジェクト
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します

絞り込み条件を変える

OpenSSL::X509::Certificate#to_der -> String (27001.0)

DER 形式のバイト列を返します。

DER 形式のバイト列を返します。

OpenSSL::X509::Certificate#to_pem -> String (27001.0)

PEM 形式の文字列を返します。

PEM 形式の文字列を返します。

OpenSSL::X509::Certificate#to_s -> String (27001.0)

PEM 形式の文字列を返します。

PEM 形式の文字列を返します。

OpenSSL::X509::Certificate#to_text -> String (27001.0)

人間が読める形式の文字列を返します。

人間が読める形式の文字列を返します。

OpenSSL::X509::Certificate#verify(key) -> bool (27001.0)

証明書の発行者の公開鍵で署名を検証します。

証明書の発行者の公開鍵で署名を検証します。

検証に成功した、すなわち self が key で署名されたことが
確認された場合に真を返します。

@param key 検証に利用する発行者の公開鍵

絞り込み条件を変える

OpenSSL::X509::Certificate#version -> Integer (27001.0)

X509 証明書の version です。 v1の場合は 0 、v3 の場合は 2 となります。

X509 証明書の version です。 v1の場合は 0 、v3 の場合は 2 となります。

OpenSSL::X509::Certificate#version=(version) (27001.0)

証明書のバージョンを設定します。

証明書のバージョンを設定します。

@param version バージョン(0以上の整数)
@raise OpenSSL::X509::CertificateError 設定に失敗した場合に発生します

OpenSSL::X509::Certificate (9001.0)

X509 証明書クラス

X509 証明書クラス

* 5280

OpenSSL::X509::CertificateError (9001.0)

X509 証明書関連のエラーを表す例外くクラスです。

X509 証明書関連のエラーを表す例外くクラスです。

OpenSSL::SSL::SSLContext#client_ca -> [OpenSSL::X509::Certificate] | OpenSSL::X509::Certificate | nil (607.0)

クライアント証明書を要求する時にクライアントに送る CA のリスト を返します。

クライアント証明書を要求する時にクライアントに送る CA のリスト
を返します。


@see OpenSSL::SSL::SSLContext#client_ca=

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#peer_cert_chain -> [OpenSSL::X509::Certificate] | nil (352.0)

接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト の配列で返します。

接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト
の配列で返します。

OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。

以下の順の配列を返します。
[接続相手の証明書, 下位CAの証明書,... 中間CAの証明書]
ルート CA の証明書は含まれないことに注意してください。

@see OpenSSL::SSL::SSLSocket#peer_cert

OpenSSL::X509::StoreContext#chain -> [OpenSSL::X509::Certificate] | nil (352.0)

検証に利用した証明書チェインを証明書オブジェクト (OpenSSL::X509::Certificateのインスタンス)の配列で返します。

検証に利用した証明書チェインを証明書オブジェクト
(OpenSSL::X509::Certificateのインスタンス)の配列で返します。

OpenSSL::X509::StoreContext#verify を呼ぶ前は nil を返します。

OpenSSL::X509::StoreContext#current_cert -> OpenSSL::X509::Certificate (322.0)

直前に検証した証明書のオブジェクトを返します。

直前に検証した証明書のオブジェクトを返します。

OpenSSL::X509::StoreContext#verify で検証が失敗した場合は
証明書チェイン中で検証に失敗した証明書のオブジェクトを返します。

証明書チェインの各証明書検証後
コールバック(OpenSSL::X509::Store#verify_callback=)呼び出しに
渡される StoreContext オブジェクトにこのメソッドを呼び出すと
直前に検証した証明書を返します。

OpenSSL::X509::StoreContext#verify を呼ぶ前に
このメソッドを呼ぶと空の OpenSSL::X509::Ce...

WEBrick::HTTPRequest#client_cert -> OpenSSL::X509::Certificate (322.0)

クライアント証明書を表すオブジェクトを返します。

クライアント証明書を表すオブジェクトを返します。

@see OpenSSL::X509::Certificate

WEBrick::HTTPRequest#server_cert -> OpenSSL::X509::Certificate (322.0)

サーバ証明書を表すオブジェクトを返します。

サーバ証明書を表すオブジェクトを返します。

@see OpenSSL::X509::Certificate

絞り込み条件を変える

Gem::Security.build_cert(name, key, options = {}) -> OpenSSL::X509::Certificate (304.0)

与えられた DN と秘密鍵を使用して証明書を作成します。

与えられた DN と秘密鍵を使用して証明書を作成します。

@param name DN を指定します。

@param key 秘密鍵を指定します。

@param options オプションを指定します。

Gem::Security.sign_cert(cert, signing_key, signing_cert, options = {}) -> OpenSSL::X509::Certificate (304.0)

与えられた署名用の鍵と証明書を用いて証明書に署名します。

与えられた署名用の鍵と証明書を用いて証明書に署名します。

@param cert 署名する証明書を指定します。

@param signing_key 署名にしようする鍵を指定します。

@param signing_cert 署名に使用する証明書を指定します。

@param options オプションを指定します。

@return 署名された証明書を返します。

Net::HTTP#cert -> OpenSSL::X509::Certificate | nil (304.0)

クライアント証明書を返します。

クライアント証明書を返します。

@see Net::HTTP#cert=, OpenSSL::SSL::SSLContext#cert

Net::HTTP#peer_cert -> OpenSSL::X509::Certificate | nil (304.0)

サーバの証明書を返します。

サーバの証明書を返します。

SSL/TLS が有効でなかったり、接続前である場合には nil
を返します。

@see OpenSSL::SSL::SSLSocket#peer_cert

OpenSSL::PKCS12#ca_certs -> [OpenSSL::X509::Certificate] (304.0)

自身が保持しているCA証明書を配列で返します。

自身が保持しているCA証明書を配列で返します。

絞り込み条件を変える

OpenSSL::PKCS12#certificate -> OpenSSL::X509::Certificate (304.0)

自身が保持している証明書を返します。

自身が保持している証明書を返します。

OpenSSL::PKCS7#certificates -> [OpenSSL::X509::Certificate] | nil (304.0)

署名に添付される証明書を配列で返します。

署名に添付される証明書を配列で返します。

OpenSSL::SSL::SSLContext#cert -> OpenSSL::X509::Certificate (304.0)

自分自身を証明するための証明書を返します。

自分自身を証明するための証明書を返します。

デフォルトは nil (証明書なし)です。

@see OpenSSL::SSL::SSLContext#cert=

OpenSSL::SSL::SSLContext#extra_chain_cert -> [OpenSSL::X509::Certificate] | nil (304.0)

自分自身を証明する証明書からルート CA までの証明書のリストです。

自分自身を証明する証明書からルート CA までの証明書のリストです。

@see OpenSSL::SSL::SSLContext#extra_chain_cert=

OpenSSL::SSL::SSLSocket#cert -> OpenSSL::X509::Certificate | nil (304.0)

自分自身を証明する証明書を返します。

自分自身を証明する証明書を返します。

自分自身を証明する証明書を使わなかった場合は nil を返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼んだ
場合も nil を返します。

@see OpenSSL::SSL::SSLContext#cert

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#peer_cert -> OpenSSL::X509::Certificate | nil (304.0)

接続相手の証明書オブジェクトを返します。

接続相手の証明書オブジェクトを返します。

OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。

@see OpenSSL::SSL::SSLSocket#peer_cert_chain

OpenSSL::X509::ExtensionFactory#issuer_certificate -> OpenSSL::X509::Certificate | nil (304.0)

自身に設定されている発行者(issuer)の証明書オブジェクトを返します。

自身に設定されている発行者(issuer)の証明書オブジェクトを返します。

証明書が設定されていない場合は nil を返します。

OpenSSL::X509::ExtensionFactory#subject_certificate -> OpenSSL::X509::Certificate | nil (304.0)

自身に設定されている所有者(subject)の証明書オブジェクトを返します。

自身に設定されている所有者(subject)の証明書オブジェクトを返します。

証明書が設定されていない場合は nil を返します。

OpenSSL::X509::Store#chain -> [OpenSSL::X509::Certificate] | nil (304.0)

最後に OpenSSL::X509::Store#verify を呼び、 検証したときのルート CA までの証明書のチェインを返します。

最後に OpenSSL::X509::Store#verify を呼び、
検証したときのルート CA までの証明書のチェインを返します。

証明書の順序は以下の通りです。

[証明書, 下位 CA 証明書, 中間 CA 証明書, ... , ルート CA 証明書]

verify を一度も呼びだしていない場合は nil を返します。

返り値は verify を呼ぶごとに更新されます。

OpenSSL::X509::ExtensionFactory.new(issuer_cert=nil, subject_cert=nil, subject_req=nil, crl=nil) -> OpenSSL::X509::ExtensionFactory (73.0)

ExtensionFactory オブジェクトを生成します。

ExtensionFactory オブジェクトを生成します。

証明書の発行者や所有者の OpenSSL::X509::Certificate オブジェクトや
OpenSSL::X509::Request、OpenSSL::X509::CRL オブジェクトを
渡すことによって、拡張領域の中身を ExtensionFactory オブジェクトが
計算することができます。
例えば、"subjectKeyIdentifier" 拡張領域は証明書の一部のハッシュ値
を値として持ちますが、
OpenSSL::X509::Certificate オブジェクトをあらかじめ渡しておくことによって
OpenSS...

絞り込み条件を変える

OpenSSL::PKCS7.sign(cert, key, data, certs = [], flags = 0) -> OpenSSL::PKCS7 (55.0)

data に証明書と秘密鍵で署名します。

data に証明書と秘密鍵で署名します。

cert に署名に使う証明書を、key にその証明書に対応する秘密鍵を
渡します。certs に OpenSSL::X509::Certificate オブジェクトの配列 を
渡すと OpenSSL::PKCS7 オブジェクトにそれらの証明書が追加で保持されます。
例えば中間 CA 証明書などを渡します。
flags は以下の値の OR を渡します。
* OpenSSL::PKCS7::TEXT
text/plain 用の MIME ヘッダをデータに付け加える。
* OpenSSL::PKCS7::NOCERTS
署...

OpenSSL::OCSP::BasicResponse#sign(signer_cert, signer_key, certs = [], flags=0) -> self (37.0)

Response に署名します。

Response に署名します。

OCSP レスポンダ(もしくは CA)はレスポンスに署名をすることで、
レスポンスの内容を保証します。

flags には以下の値の OR を渡すことができます。
* OpenSSL::OCSP::NOTIME
* OpenSSL::OCSP::RESPID_KEY
* OpenSSL::OCSP::NOCERTS

certs に証明書の配列を渡すことで、この署名を検証するために
必要となる別の証明書を付加することができます。

@param signer_cert 署名者の証明書(OpenSSL::X509::Certificate オブジェ...

OpenSSL::OCSP::CertificateId.new(subject, issuer, digest=nil) -> OpenSSL::OCSP::CertificateId (37.0)

CertificateId オブジェクトを生成します。

CertificateId オブジェクトを生成します。

subject には問合せ対象の証明書を、issuerにはsubjectのissuer(発行者)
の証明書を渡します。

@param subject 問合せ対象の証明書(OpenSSL::X509::Certificate オブジェクト)
@param issuer subjectのissuer(発行者)の証明書(OpenSSL::X509::Certificate オブジェクト)
@param digest issuerの名前のハッシュ値、issuerの証明書の公開鍵のハッシュ値を取るためのハッシュアルゴリズム。nilでデフォルトの...

OpenSSL::OCSP::Request#sign(signer_cert, signer_key, certs=nil, flags=nil) -> self (37.0)

Request オブジェクトに署名をします。

Request オブジェクトに署名をします。

この署名はリクエスタが自分自身を証明するために署名します。
OCSP レスポンダはこの署名を確認します。
Request に対する署名は必須ではありません。

certs に証明書の配列を渡すことで、この署名を検証するために
必要となる別の証明書を付加することができます。

@param signer_cert 署名者の証明書(OpenSSL::X509::Certificate オブジェクト)
@param signer_key 証明に用いる秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param certs 添付する証明書...

OpenSSL::PKCS12.create(pass, name, pkey, cert, ca=nil, key_nid=nil, cert_nid=nil, key_iter=nil, mac_iter=nil, keytype=nil) -> OpenSSL::PKCS12 (37.0)

PKCS#12 オブジェクトを生成します。

PKCS#12 オブジェクトを生成します。

pass はデータを暗号化するためのパスフレーズです。
name は利用者の利便性のためにオブジェクトに与える名前です。
pkey は秘密鍵、certは証明書、caはCA証明書の配列です。
ca に nil を渡すのは空の配列を渡すのと同じ意味です。
key_nid と cert_nid は 秘密鍵、証明書の暗号化方式を
文字列で指定します。
key_iter は暗号化アルゴリズムにイテレーション回数、
mac_iter は MAC のイテレーション回数、
keytype は鍵の種類を渡します。

key_nid, cert_nid, key_i...

絞り込み条件を変える

OpenSSL::SSL::SSLContext#client_ca=(ca) (37.0)

クライアント証明書を要求する時にクライアントに送る CA 証明書のリスト を設定します。

クライアント証明書を要求する時にクライアントに送る CA 証明書のリスト
を設定します。

クライアントは提示した CA から利用可能(署名されている)な証明書を
送り返します。

このメソッドはサーバ側でのみ意味を持ちます。

OpenSSL::X509::Certificate の配列を渡します。1つの場合は
OpenSSL::X509::Certificate オブジェクト自体を渡してもかまいません。

@param ca クライアント証明書を要求するときに提示する証明書の配列
@see OpenSSL::SSL::SSLContext#client_ca

OpenSSL::X509::Extension (37.0)

X.509 v3 証明書の拡張領域のためのクラスです。

X.509 v3 証明書の拡張領域のためのクラスです。

OpenSSL::X509::Certificate オブジェクトは
その拡張領域を Extension オブジェクトの配列として保持し、
OpenSSL::X509::Certificate#extensions でその配列が得られます。

このクラスのインスタンス生成は OpenSSL::ASN1::ASN1Data を
取り扱う必要があり面倒です。
OpenSSL::X509::ExtensionFactory を用いることで
インスタンスの生成を簡便に行うことができます。

=== 参照
* 5280

OpenSSL::X509::ExtensionFactory (37.0)

OpenSSL::X509::Extension を簡便に生成するための クラスです。

OpenSSL::X509::Extension を簡便に生成するための
クラスです。



require 'openssl'
# ca_cert: CA の証明書オブジェクト
# req: CSR オブジェクト
# newcert: 新たに生成する証明書のオブジェクト
ca_cert = OpenSSL::X509::Certificate.new(File.read('ca_cert.pem'))
req = OpenSSL::X509::Request.new(File.read('req.pem'))
newcert = OpenSSL::X509::C...

OpenSSL::X509::Store#verify(cert, chain = nil) -> bool (37.0)

証明書を証明書ストアに存在する CA 証明書で検証します。

証明書を証明書ストアに存在する CA 証明書で検証します。

chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。

検証に成功した場合は true を、失敗した場合は false を返します。

このメソッドをブロック付きで呼び出すと、そのブロックが
検証をフィルタするコールバックと見做されます。このコールバックについては
OpenSSL::X509::Store#verify_callback= を参照してください。

内部では OpenSSL::X509::StoreContext.new と
OpenSSL:...

OpenSSL::X509::Store#verify(cert, chain = nil) {|ok, ctx| ... } -> bool (37.0)

証明書を証明書ストアに存在する CA 証明書で検証します。

証明書を証明書ストアに存在する CA 証明書で検証します。

chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。

検証に成功した場合は true を、失敗した場合は false を返します。

このメソッドをブロック付きで呼び出すと、そのブロックが
検証をフィルタするコールバックと見做されます。このコールバックについては
OpenSSL::X509::Store#verify_callback= を参照してください。

内部では OpenSSL::X509::StoreContext.new と
OpenSSL:...

絞り込み条件を変える

OpenSSL::X509::StoreContext.new(store, cert, chain=nil) -> OpenSSL::X509::StoreContext (37.0)

証明書ストアコンテキストを生成します。

証明書ストアコンテキストを生成します。

store には検証に必要なルート CA 証明書を含む OpenSSL::X509::Store
オブジェクトを渡します。 cert は検証対象の証明書、chain は
中間 CA 証明書チェインを証明書の配列で渡します。

@param store ルート CA 群を持っている証明書ストア
(OpenSSL::X509::Store オブジェクト)
@param cert 検証対象となる証明書(OpenSSL::X509::Certificate オブジェクト)
@param chain 検証に利用する証明書チェイン
(O...

Net::HTTP#cert=(certificate) (19.0)

クライアント証明書を設定します。

クライアント証明書を設定します。

デフォルトは nil (クライアント証明書による認証をしない)です。

@param certificate 証明書オブジェクト(OpenSSL::X509::Certificate)
@see Net::HTTP#cert, OpenSSL::SSL::SSLContext#cert=

OpenSSL::ASN1.#decode(der) -> OpenSSL::ASN1::ASN1Data (19.0)

DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。

DER 表現の文字列を解析し、そこにエンコードされている ASN.1 の値を
OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスとして返します。

複数の ASN.1 の値が含まれている場合、先頭の値だけを返します。

ASN.1 オブジェクトが Constructive である場合は、
それを構成する要素も再帰的に解析します。

例:

ruby -e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem...

OpenSSL::OCSP::BasicResponse#verify(certs, store, flags=0) -> bool (19.0)

署名を検証します。

署名を検証します。

flagsには以下の値の OR を取ったものを渡します。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN

TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。

@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certificate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::...

OpenSSL::OCSP::CertificateId#serial -> OpenSSL::BN (19.0)

証明書の識別番号を返します。

証明書の識別番号を返します。

@see OpenSSL::X509::Certificate#serial

絞り込み条件を変える

OpenSSL::OCSP::Request#verify(certs, store, flags=0) -> bool (19.0)

Request オブジェクトの署名を検証します。

Request オブジェクトの署名を検証します。

検証に成功した場合は真を返します。

flags には以下の値の OR を取ったものを渡します。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN

TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。

@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certificate オブジェクトの配列)
...

OpenSSL::PKCS7#add_certificate(cert) -> self (19.0)

署名に添付する証明書を追加します。

署名に添付する証明書を追加します。

通常は OpenSSL::PKCS7.sign の引数で添付する証明書を指定した
ほうがよいでしょう。

@param cert 追加する証明書(OpenSSL::X509::Certificate オブジェクト)
@raise OpenSSL::PKCS7::PKCS7Error 追加に失敗した場合に発生します。

OpenSSL::PKCS7#certificates=(certificates) (19.0)

署名に付ける証明書を指定します。

署名に付ける証明書を指定します。

PKCS7 オブジェクトに元々つけられていた証明書はクリアされます。
通常は OpenSSL::PKCS7.sign の引数で添付する証明書を指定した
ほうがよいでしょう。

@param certificates 証明書(OpenSSL::X509::Certificate オブジェクト)の配列
@raise OpenSSL::PKCS7::PKCS7Error 変更に失敗した場合に発生します。

OpenSSL::PKCS7#decrypt(pkey, cert, flags = 0) -> String (19.0)

暗号化されたデータを復号化し、復号化されたデータを返します。

暗号化されたデータを復号化し、復号化されたデータを返します。

復号には暗号化に使った公開鍵に対応する秘密鍵と、その公開鍵を
含む証明書が必要です。

flags には以下のいずれかを指定できます。
* OpenSSL::PKCS7::TEXT
暗号化されたデータに付けられた text/plain タイプの MIME ヘッダ
を取り除きます。もしヘッダがなければエラーとなります。

@param pkey 復号化に使う秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param cert 対応する証明書(OpenSSL::X509::Certific...

OpenSSL::PKCS7#verify(certs, store, indata = nil, flags = 0) -> bool (19.0)

署名を検証します。

署名を検証します。

検証に成功した場合は真を、失敗した場合は偽を返します。

certs には署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは配列から適切な証明書を自動的に選択します。

store には検証に用いる証明書ストアを渡します。
検証に必要な信頼できる CA 証明書をあらかじめ証明書ストアに含めておく
必要があります。

indata は署名の対象となった...

絞り込み条件を変える

OpenSSL::PKCS7.encrypt(certs, data, cipher=nil, flags=0) -> OpenSSL::PKCS7 (19.0)

data を証明書の公開鍵で暗号化します。

data を証明書の公開鍵で暗号化します。

暗号化は複数の公開鍵を用いてすることが可能です。そのためには
複数の証明書を配列で渡します。

data には任意の文字列を渡せますが、一般的には MIME 形式の文字列を渡します。
署名と暗号化の両方をしたい場合は、
署名(OpenSSL::PKCS7.sign)された S/MIME 形式の文字列を
渡すことが一般的です。

cipher は共通鍵暗号の方式を OpenSSL::Cipher オブジェクトで指定します。
nil を渡すと適当な方式が選ばれます。互換性を気にするのであれば
triple DES を使うとよいでしょう。多くのクライアン...

OpenSSL::PKCS7.write_smime(p7sig, data=nil, flags = 0) -> String (19.0)

PKCS7 オブジェクトから S/MIME 形式の文字列を返します。

PKCS7 オブジェクトから S/MIME 形式の文字列を返します。

data には署名対象のデータを渡します。
data に nil を渡すと OpenSSL::PKCS7#data で得られる
文字列を用います。通常は nil を渡してください。

flags には以下の定数の or を渡します。
* OpenSSL::PKCS7::DETACHED
クリア署名をします。これは OpenSSL::PKCS7.sign で
OpenSSL::PKCS7::DETACHED を渡した場合にのみ意味を持ちます。
* OpenSSL::PKCS7::TEXT
...

OpenSSL::PKCS7::RecipientInfo.new(cert) -> RecipientInfo (19.0)

送信先オブジェクトを証明書から生成します。

送信先オブジェクトを証明書から生成します。

@param cert 証明書(OpenSSL::X509::Certificate オブジェクト)

OpenSSL::PKCS7::SignerInfo.new(cert, key, digest) -> OpenSSL::PKCS7::SignerInfo (19.0)

署名者オブジェクトを証明書、秘密鍵、ダイジェスト方式から生成します。

署名者オブジェクトを証明書、秘密鍵、ダイジェスト方式から生成します。

証明書、秘密鍵、ダイジェスト方式は署名をするために利用します。

@param cert 証明書(OpenSSL::X509::Certificate オブジェクト)
@param key 秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest メッセージダイジェスト方式(文字列もしくは OpenSSL::Digest オブジェクト)

OpenSSL::SSL::SSLContext#cert=(certificate) (19.0)

自分自身を証明するための証明書を設定します。

自分自身を証明するための証明書を設定します。

デフォルトは nil (証明書なし)です。

@param certificate 設定する証明書(OpenSSL::X509::Certificate のインスタンス)
@see OpenSSL::SSL::SSLContext#cert

絞り込み条件を変える

OpenSSL::SSL::SSLContext#client_cert_cb=(cb) (19.0)

OpenSSL::SSL::SSLContext#cert= でクライアント証明書を セットしていなかった場合にサーバからクライアント証明書の要求が来たときに 呼びだされるコールバックオブジェクトを設定します。

OpenSSL::SSL::SSLContext#cert= でクライアント証明書を
セットしていなかった場合にサーバからクライアント証明書の要求が来たときに
呼びだされるコールバックオブジェクトを設定します。

コールバックに渡される引数は以下のように
proc{|sslsocket| ... }
1つで、利用している OpenSSL::SSL::SSLSocket
オブジェクトが渡されます。そのオブジェクトから必要な証明書を見つけるのに
必要な情報を取得します。
コールバックはクライアント証明書(OpenSSL::X509::Certificate)
とその秘密鍵(OpenSSL::P...

OpenSSL::SSL::SSLContext#extra_chain_cert=(certificates) (19.0)

自分自身を証明する証明書からルート CA までの証明書のリストを配列で設定します。

自分自身を証明する証明書からルート CA までの証明書のリストを配列で設定します。

OpenSSL::SSL::SSLContext#cert で設定した証明書から相手が持っていると
期待されるルート CA 証明書までのリストを渡します。

これによって接続相手はチェインを辿ることでその相手が信頼していない証明書の
信頼性を順に確認し、自分自身を証明する証明書の信頼性を確認します。

@param certificates 設定する証明書チェイン(OpenSSL::X509::Certificate の
配列)
@see OpenSSL::SSL::SSLContext#ext...

OpenSSL::X509::ExtensionFactory#issuer_certificate=(cert) (19.0)

自身に発行者(issuer)の証明書オブジェクトを設定します。

自身に発行者(issuer)の証明書オブジェクトを設定します。

@param cert 設定する証明書(OpenSSL::X509::Certificate)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new

OpenSSL::X509::ExtensionFactory#subject_certificate=(name) (19.0)

自身に所有者(subject)の証明書オブジェクトを設定します。

自身に所有者(subject)の証明書オブジェクトを設定します。

@param cert 設定する証明書(OpenSSL::X509::Certificate)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new

OpenSSL::X509::Store#add_cert(cert) -> self (19.0)

CA 証明書を信頼する証明書として証明書ストアに加えます。

CA 証明書を信頼する証明書として証明書ストアに加えます。

@param cert 追加する CA 証明書の OpenSSL::X509::Certificate オブジェクト
@raise OpenSSL::X509::StoreError 追加に失敗した場合に発生します

絞り込み条件を変える

OpenSSL::X509::StoreContext#error=(error) (19.0)

エラーコードを設定します。

エラーコードを設定します。

OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメソッドでエラーコードを
設定し、コールバックの返り値を false にすると、最終的なエラーコードが
ここで設定したものになります。OpenSSL::X509::StoreContext#error_string
もその値に応じた文字列が返るようになります。

例:
requi...

OpenSSL::X509::V_ERR_CERT_HAS_EXPIRED -> Integer (19.0)

証明書が期限切れであることを意味します。

証明書が期限切れであることを意味します。

期限は証明書チェイン全体に対し確認されます。

OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。

@see OpenSSL::X509::Certificate#not_after=,
OpenSSL::X509::Store#time=

OpenSSL::X509::V_ERR_CERT_NOT_YET_VALID -> Integer (19.0)

証明書の開始時刻以前であることを意味します。

証明書の開始時刻以前であることを意味します。

開始時刻は証明書チェイン全体に対し確認されます。

OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。

@see OpenSSL::X509::Certificate#not_before=,
OpenSSL::X509::Store#time=

WEBrick::Config::SSL -> Hash (19.0)

以下のほとんどの項目はサーバが保持する OpenSSL::SSL::SSLContext オブジェクト を設定するためのものです。詳しくは OpenSSL::SSL::SSLContext を参照して下さい。

以下のほとんどの項目はサーバが保持する OpenSSL::SSL::SSLContext オブジェクト
を設定するためのものです。詳しくは OpenSSL::SSL::SSLContext を参照して下さい。

: :ServerSoftware
サーバソフト名を設定する。デフォルトでは
"WEBrick/VERSION (Ruby/VERSION/RELEASE_DATE) OpenSSL/VERSION"。
: :SSLEnable
ssl を有効にするかどうかを設定します。
Ruby 1.8.2 まではデフォルトで true です。
Ruby 1.8.3 以降はデフ...

openssl (19.0)

OpenSSL(https://www.openssl.org/) を Ruby から扱うためのライブラリです。

OpenSSL(https://www.openssl.org/)
を Ruby から扱うためのライブラリです。

このドキュメントでは SSL/TLS の一般的事項については
解説をしません。利用者は、SSL/TLSの各概念、例えば
以下の事項について理解している必要があります。
* 暗号と認証に関する一般的概念
* セキュリティに対する攻撃法
* 公開鍵暗号と秘密鍵暗号
* 署名の役割、署名の方法とその検証
* 公開鍵基盤(PKI, Public Key Infrastructure)
* X.509 証明書
* 暗号と乱数について
SSLのようなセキュリティ技...

絞り込み条件を変える