るりまサーチ (Ruby 2.4.0)

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

別のキーワード

  1. certificate new
  2. openssl certificate
  3. certificate to_s
  4. certificate sign
  5. certificate to_der

モジュール

検索結果

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

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

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

...付する証明書を追加します。

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

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

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

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

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

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

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

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

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

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

OpenSSL::OCSP::REVOKED_STATUS_CERTIFICATEHOLD -> Integer (18307.0)

OpenSSL::OCSP::BasicResponse#status の失効理由コードで、 一時的な保留を意味します。

...OpenSSL::OCSP::BasicResponse#status の失効理由コードで、
一時的な保留を意味します。

詳しくは 3280 や X.509 を参照してください。...

OpenSSL::OCSP::CertificateId (18007.0)

失効状態を問い合わせたい個々の証明書を識別するためのクラスです。

...わせたい個々の証明書を識別するためのクラスです。

問い合わせたい証明書にissuerの情報+αを付加したオブジェクトです。

CertificateId オブジェクトを複数 OpenSSL::OCSP::Request に含め、
同時に問い合わせることができます。...

絞り込み条件を変える

OpenSSL::X509::Certificate (18007.0)

X509 証明書クラス

X509 証明書クラス

* 5280

OpenSSL::X509::CertificateError (18007.0)

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

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

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

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

...のissuer(発行者)
の証明書を渡します。

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

@raise OpenSSL::OCSP::OCSPError オブジェクトの生成に失敗した際に発生します...

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

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

...生成します。

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

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

obj が to_der メソッド...
...のメソッドによって
DER 形式のバイト列に変換し、証明書オブジェクトを生成します。

@param obj 証明書のデータ
@raise OpenSSL::X509::CertificateError 証明書のフォーマットが不正であるなど、読み込みに失敗した場合に発生します...

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

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

...生成します。

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

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

obj が to_der メソッド...
...のメソッドによって
DER 形式のバイト列に変換し、証明書オブジェクトを生成します。

@param obj 証明書のデータ
@raise OpenSSL::X509::CertificateError 証明書のフォーマットが不正であるなど、読み込みに失敗した場合に発生します...

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

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

OpenSSL::OCSP::CertificateId#cmp(other) -> bool (9007.0)

2つの CertificateId オブジェクトを比較し、 同じものであれば真を返します。

...2つの CertificateId オブジェクトを比較し、
同じものであれば真を返します。

@param other 比較する OpenSSL::OCSP::CertificateId オブジェクト
@see OpenSSL::OCSP::CertificateId#cmp_issuer...

OpenSSL::OCSP::CertificateId#cmp_issuer(other) -> bool (9007.0)

2つの CertificateId オブジェクトの issuer(証明書発行者)を比較し、 同じ issuer であれば真を返します。

...2つの CertificateId オブジェクトの issuer(証明書発行者)を比較し、
同じ issuer であれば真を返します。

@param other 比較する OpenSSL::OCSP::CertificateId オブジェクト
@see OpenSSL::OCSP::CertificateId#cmp...

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

OpenSSL::X509::Certificate#public_key -> OpenSSL::PKey::PKey (9007.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) (9007.0)

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

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

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

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

証明書に署名します。

証明書に署名します。

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

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

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

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

OpenSSL::SSL::SSLSocket#peer_cert_chain -> [OpenSSL::X509::Certificate] | nil (358.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 (358.0)

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

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

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

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

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

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

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

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

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

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

...ジェクトを返します。

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

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

OpenSSL
::X509::StoreContext#verify を呼ぶ前に
このメソッドを呼ぶと空の OpenSSL::X509::Certificate を返します。...

OpenSSL::OCSP::BasicResponse#status -> [[OpenSSL::OCSP::CertificateId, Integer, Integer, Time|nil, Time, Time|nil, [OpenSSL::X509::Extension]]] (325.0)

証明書の状態の問い合わせの結果を返します。

...値を取ります
* OpenSSL::OCSP::V_CERTSTATUS_GOOD 正常
* OpenSSL::OCSP::V_CERTSTATUS_REVOKED 失効
* OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN 不明

失効理由コードは以下のいずれかを返します。
* OpenSSL::OCSP::REVOKED_STATUS_NOSTATUS
* OpenSSL::OCSP::REVOKED_STATUS_...
...TUS_KEYCOMPROMISE
* OpenSSL::OCSP::REVOKED_STATUS_CACOMPROMISE
* OpenSSL::OCSP::REVOKED_STATUS_AFFILIATIONCHANGED
* OpenSSL::OCSP::REVOKED_STATUS_SUPERSEDED
* OpenSSL::OCSP::REVOKED_STATUS_CESSATIONOFOPERATION
* OpenSSL::OCSP::REVOKED_STATUS_CERTIFICATEHOLD
* OpenSSL::OCSP::REVOKED_STATU...
...を返します。

拡張領域には、OpenSSL::X509::Extension の配列が渡されます。

結果をどのように解釈すべきか、より詳しくは 2560 や X.509 を見てください。

例:
res.basic.status
# => [
# [#<OpenSSL::OCSP::CertificateId:0x00000000e3c290>, #...

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

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

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

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

これによって...
...その相手が信頼していない証明書の
信頼性を順に確認し、自分自身を証明する証明書の信頼性を確認します。

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

絞り込み条件を変える

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

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

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

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

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

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

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

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

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

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

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

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

OpenSSL::SSL::SSLSocket#cert -> OpenSSL::X509::Certificate | nil (310.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 (310.0)

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

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

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

@see OpenSSL::SSL::SSLSocket#peer_cert_chain...

絞り込み条件を変える

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

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

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

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

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

verify を一度も呼びだ...

OpenSSL::OCSP::Request#certid -> [OpenSSL::OCSP::CertificateId] (307.0)

Request オブジェクトが保持している問い合わせ対象の証明書の情報を 配列で返します。

...Request オブジェクトが保持している問い合わせ対象の証明書の情報を
配列で返します。

@see OpenSSL::OCSP::Request#add_certid...

OpenSSL::SSL::SSLContext#ca_file=(ca) (115.0)

接続相手の検証のために使う、信頼している CA 証明書ファイルのパスを 設定します。

...g) ...
-----END CERTIFICATE-----

(ここに証明書の説明)

-----BEGIN CERTIFICATE-----
... (CA certificate in base64 encoding) ...
-----END CERTIFICATE-----

デフォルトは nil です。

@param ca CA証明書ファイルのパス文字列
@see OpenSSL::SSL::SSLContext#ca_file=...

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

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

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

証明書の発行者や所有者の OpenSSL::X509::Certificate オブジェクトや
OpenSSL
::X509::Request、OpenSSL::X509::CRL オブジェクトを
渡すことによって、拡張領域の中身を ExtensionFactory オブジェクトが...
...yIdentifier" 拡張領域は証明書の一部のハッシュ値
を値として持ちますが、
OpenSSL
::X509::Certificate オブジェクトをあらかじめ渡しておくことによって
OpenSSL
::X509::ExtensionFactory#create_extension がその値を計算します。
これらの情報が...
...す。
* OpenSSL::X509::ExtensionFactory#issuer_certificate=
* OpenSSL::X509::ExtensionFactory#subject_certificate=
* OpenSSL::X509::ExtensionFactory#subject_request=
* OpenSSL::X509::ExtensionFactory#crl=

@param issuer_cert 証明書発行者、すなわち CA の
OpenSSL
::X509::C...

OpenSSL::OCSP (91.0)

OCSP(Online Certificate Status Protocol)を取り扱うための モジュールです。OCSP は 2560 で定義されています。

...示する
require 'openssl'
require 'net/http'
# ...
subject # 問い合わせ対象の証明書(Certificate オブジェクト)
issuer # subject の発行者の証明書(Certificate オブジェクト)
store # 信頼している証明書ストア
cid = OpenSSL::OCSP::CertificateId.new...
...issuer)
req = OpenSSL::OCSP::Request.new
req.add_certid(cid)
req.add_nonce

http = Net::HTTP.new('ocsp.example.com', 80)
httpres = http.post("/", req.to_der, 'content-type' => 'application/ocsp-request')
raise "HTTP error" if !httpres.kind_of?(Net::HTTPOK)
res = OpenSSL::OCSP::Respon...
...se.new(httpres.body)

puts "Response status: #{res.status_string}"
exit if res.status != OpenSSL::OCSP::RESPONSE_STATUS_SUCCESSFUL

basic_resp = res.basic
raise "nonce error" unless [-1, 1].include?(req.check_nonce(basic_resp))
unless basic_resp.verify([], store)
puts "verify respons...

絞り込み条件を変える

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

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

...。certs に OpenSSL::X509::Certificate オブジェクトの配列 を
渡すと OpenSSL::PKCS7 オブジェクトにそれらの証明書が追加で保持されます。
例えば中間 CA 証明書などを渡します。
flags は以下の値の OR を渡します。
* OpenSSL::PKCS7::TEXT...
...* OpenSSL::PKCS7::NOCERTS
署名者の証明書を署名に含めません。送り先がすでに証明書をもっている場合
など、他の方法で証明書を手に入れることができる場合に
データ量を減らすために用います。
* OpenSSL::PKCS7:...
...リア署名(multipart/signed)をする。
* OpenSSL::PKCS7::BINARY
data に MIME 正規化を施さない。
* OpenSSL::PKCS7::NOATTR
PKCS#7 autenticatedAttributes (署名時刻など)をオブジェクトに含めない。
* OpenSSL::PKCS7::NOSMIMECAP
署名者が使用可...

OpenSSL::X509::Request (55.0)

X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす クラスです。

...CSR を生成する例。
require 'openssl'
# ファイルから秘密鍵を読み込む
rsa = OpenSSL::PKey::RSA.new(File.read("privkey.pem"))
# 新しい CSR オブジェクトを生成
csr = OpenSSL::X509::Request.new
# DN を生成
name = OpenSSL::X509::Name.new
name.add_entry('C...
...sa.public_key
# attribute を設定
factory = OpenSSL::X509::ExtensionFactory.new
exts = [ factory.create_ext("subjectAltName", "DNS:foo.example.com") ]
asn1exts = OpenSSL::ASN1::Set([OpenSSL::ASN1::Sequence(exts)])
csr.add_attribute(OpenSSL::X509::Attribute.new("extReq", asn1exts))
#...

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

Response に署名します。

...
* OpenSSL::OCSP::NOTIME
* OpenSSL::OCSP::RESPID_KEY
* OpenSSL::OCSP::NOCERTS

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

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

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

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

...の証明書(OpenSSL::X509::Certificate オブジェクト)
@param signer_key 証明に用いる秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param certs 添付する証明書(OpenSSL::X509::Certificate オブジェクトの配列)
@param flags フラグ(整数)

@raise OpenSSL::OCSP::OCSPError...

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 (43.0)

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

...ーズ文字列
@param name 名前文字列
@param pkey 秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
@param cert 証明書(OpenSSL::X509::Certificate のオブジェクト)
@param ca CA証明書群(OpenSSL::X509::Certificate の配列)
@param key_nid 秘密鍵の暗号化...
...の暗号化方式を表す文字列
@param key_iter 暗号化アルゴリズムにイテレーション回数
@param mac_iter MAC のイテレーション回数
@param keytype 鍵の種類(整数)
@raise OpenSSL::PKCS12::PKCS12Error オブジェクト生成に失敗した場合に発生します...

絞り込み条件を変える

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

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

...持ちます。

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

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

OpenSSL::X509::Extension (43.0)

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

...クラスです。

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

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

=== 参照
* 5280...

OpenSSL::X509::ExtensionFactory (43.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::Certificate.new
# 新しい ExtensionFactory オブジェクトを生成し、 CA の証明書オブジェクト
# を設定
factory = OpenSSL::X509::ExtensionFactory.new(ca_cert)
# CSR オ...

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

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

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

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

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

この...
...クについては
OpenSSL
::X509::Store#verify_callback= を参照してください。

内部では OpenSSL::X509::StoreContext.new と
OpenSSL
::X509::StoreContext#verify を呼びだすことによって検証しています。

@param cert 検証したい証明書の OpenSSL::X509::Certificate
@...
...param chain 検証したい証明書の証明書チェイン全体の配列
@raise OpenSSL::X509::StoreError 検証時にエラーが生じたときに発生します...

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

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

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

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

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

この...
...クについては
OpenSSL
::X509::Store#verify_callback= を参照してください。

内部では OpenSSL::X509::StoreContext.new と
OpenSSL
::X509::StoreContext#verify を呼びだすことによって検証しています。

@param cert 検証したい証明書の OpenSSL::X509::Certificate
@...
...param chain 検証したい証明書の証明書チェイン全体の配列
@raise OpenSSL::X509::StoreError 検証時にエラーが生じたときに発生します...

絞り込み条件を変える

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

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

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

@param store ルート CA 群を持っている証明書ストア
(OpenSSL::X509::Store オブ...
...ジェクト)
@param cert 検証対象となる証明書(OpenSSL::X509::Certificate オブジェクト)
@param chain 検証に利用する証明書チェイン
(OpenSSL::X509::Certificate オブジェクトの配列)
@raise OpenSSL::X509::StoreError コンテキストの生成に失敗した...

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

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

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

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

ASN.1 オブジェクトが...
...-e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem)
pp OpenSSL::ASN1.decode(cert.to_der)
' mycert.pem
#<OpenSSL::ASN1::Sequence:0x814e9fc
@tag=16,
@tag_class=:UNIVERSAL,
@tagging=nil,
@value=
[#<OpenSSL::ASN1::Sequence...
...@tag=16,
@tag_class=:UNIVERSAL,
@tagging=nil,
@value=
[#<OpenSSL::ASN1::ASN1Data:0x814f690
@tag=0,
@tag_class=:CONTEXT_SPECIFIC,
@value=
[#<OpenSSL::ASN1::Integer:0x814f6a4
@tag=2,
@tag_class=:UNIVERSAL,...

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

署名を検証します。

...ます。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN

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

@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certific...
...ate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::X509::Store オブジェクト)
@param flags フラグ(整数)...

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

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

...ます。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN

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

@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certific...
...ate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::X509::Store オブジェクト)
@param flags フラグ(整数)...

OpenSSL::PKCS7 (25.0)

PKCS #7 クラス

PKCS #7 クラス

PKCS #7 は暗号技術とともに用いられるデータのフォーマットの仕様です。
データやそれに対する署名、証明した日時など任意の属性を含むことができ、
S/MIME などに使用されています。

2315 を参照してください。


=== S/MIME メッセージの種類
S/MIME には以下の種類のメッセージがあります
* enveloped-only
* signed-only
* signedData フォーマット
* multipart/signed フォーマット
* Certificate-only

絞り込み条件を変える

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

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

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

@param pkey 復号化に使う秘密鍵(OpenSSL::PKey::PKey オブジェ...
...クト)
@param cert 対応する証明書(OpenSSL::X509::Certificate オブジェクト)
@param flags フラグ
@raise OpenSSL::PKCS7::PKCS7Error 復号に失敗した場合に発生します...

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

署名を検証します。

...署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL
::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは...
...名の対象となった文字列を渡します。
nil を渡すと OpenSSL::PKCS7#data で得られる文字列
を用います。通常は nil を渡すべきです。

flags には以下の値の OR を渡します。
* OpenSSL::PKCS7::NOINTERN
メッセージに添付された証明書...
...* OpenSSL::PKCS7::TEXT
署名対象のデータに含まれる text/plain タイプの MIME ヘッダを取り除きます。
もしヘッダがない場合はエラーとなります。
* OpenSSL::PKCS7::NOVERIFY
署名者の証明書を検証しません。
* OpenSSL::PKCS...

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

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

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

cipher は共通鍵暗号の方式を OpenSSL::Cipher オブジェクトで指定します。
nil を渡すと適当な方式...
...グを渡すことができます。
* OpenSSL::PKCS7::TEXT
暗号化するデータに text/plain タイプの MIME ヘッダを追加します。
MIME形式のデータを渡すときにはこれを使ってはいけません。
* OpenSSL::PKCS7::BINARY
data に MIME 正規...
...化をほどこしません。

@param certs 公開鍵を含む証明書(OpenSSL::X509::Certificate オブジェクト)の配列
@param data 暗号化対象の文字列
@param cipher 共通鍵暗号の方式(OpenSSL::Cipher オブジェクト)
@param flags フラグ...

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

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

...l を渡すと OpenSSL::PKCS7#data で得られる
文字列を用います。通常は nil を渡してください。

flags には以下の定数の or を渡します。
* OpenSSL::PKCS7::DETACHED
クリア署名をします。これは OpenSSL::PKCS7.sign で
OpenSSL
::PKCS7::DETAC...
...
* OpenSSL::PKCS7::TEXT
MIME ヘッダに text/plain を付加します。
これは OpenSSL::PKCS7.sign で
OpenSSL
::PKCS7::DETACHED を渡した場合にのみ意味を持ちます。

例:

require 'openssl'

data = "foobar"
p7 = OpenSSL::PKCS7.sign( OpenSSL::X509::Ce...
...ert.pem')),
OpenSSL
::PKey::RSA.new(File.read('privkey.pem')),
data)
smime = PKCS7.write_smime(p7)

@param p7sig PKCS#7 オブジェクト
@param data 署名されたデータ文字列
@param flags フラグ(整数値)
@raise OpenSSL::PKCS::PK...

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

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

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

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

絞り込み条件を変える

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

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

...ト方式は署名をするために利用します。

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

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

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

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

コールバックに渡される引数は以下...
...している OpenSSL::SSL::SSLSocket
オブジェクトが渡されます。そのオブジェクトから必要な証明書を見つけるのに
必要な情報を取得します。
コールバックはクライアント証明書(OpenSSL::X509::Certificate)
とその秘密鍵(OpenSSL::PKey::PKey)...
...のコールバック内で例外が発生すると、適当な証明書が見付からなかったと
判断されます。このとき例外は OpenSSL のライブラリによって握り潰されて
しまいます。

デフォルトは nil で、コールバックなしを意味します。こ...

OpenSSL::SSL::SSLServer (25.0)

SSL サーバーのためのクラス。

...SSL サーバーのためのクラス。

TCPServer をラップするクラスで、TCPServer で接続した
ソケットを OpenSSL::SSL::SSLSocket でラップする機能を持ちます。
おおよそ TCPServer と同様のメソッドを持ちます。

基本的には SSL サーバを簡単...
...

以下はクライアントからの入力を標準出力に出力するだけのサーバです。

require 'socket'
require 'openssl'

include OpenSSL

ctx = SSL::SSLContext.new()
ctx.cert = X509::Certificate.new(File.read('cert.pem'))
ctx.key = PKey::RSA.new(File.read('privke...

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

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

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

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

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

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

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

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

例:
require 'openssl'

store = OpenSSL::X509::Store.new
store.set_default_paths
cert = OpenSSL::X509::Certificate.new(...)
store.verify(c...
...ctx.error = OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION;
false} # => false
p store.error # => OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION
p store.error_string # => "application verification failure"

@param error エラーコードの整数値
@see OpenSSL::X509::StoreContext#error...

絞り込み条件を変える

OpenSSL::X509::V_ERR_CERT_HAS_EXPIRED -> Integer (25.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 (25.0)

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

...ることを意味します。

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

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

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