Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::PKCS7クラス

class OpenSSL::PKCS7

クラスの継承リスト: OpenSSL::PKCS7 < Object < Kernel < BasicObject

要約

PKCS #7 クラス

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

[RFC2315] を参照してください。

S/MIME メッセージの種類

S/MIME には以下の種類のメッセージがあります

特異メソッド

定義 説明
encrypt(certs, data, cipher=nil, flags=0) -> OpenSSL::PKCS7

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

new -> OpenSSL::PKCS7
new(obj) -> OpenSSL::PKCS7

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

read_smime(obj) -> OpenSSL::PKCS7

S/MIME 形式のデータを読み込み、PKCS7 オブジェクトを返します。

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

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

write_smime(p7sig, data=nil, flags = 0) -> String

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

インスタンスメソッド

定義 説明
add_certificate(cert) -> self

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

add_crl(crl) -> self

署名に添付する CRL を追加します。

data=(data)
add_data(data) -> data

署名対象のデータを設定します。

add_recipient(recipient) -> self

送信者を追加します。

add_signer(singer) -> self

署名者を追加します。

certificates -> [OpenSSL::X509::Certificate] | nil

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

certificates=(certificates)

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

cipher=(cipher)

使用する共通鍵暗号アルゴリズムを指定します。

crls -> [OpenSSL::X509::CRL]

署名に添付されている CRL を配列で返します。

crls=(crls)

署名に添付される CRL を配列で設定します。

data -> String

署名対象のデータを文字列で返します。

decrypt(pkey, cert, flags = 0) -> String

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

detached? -> bool
detached -> bool

平文に署名を付ける形式(multipart/signed)かどうかを返します。

detached=(b)

平文に署名を付ける形式(multipart/signed)かどうかを設定します。

error_string -> String | nil

検証エラーの理由を表す文字列を返します。

error_string=(str)

検証エラーの理由を表す文字列を設定します。

recipients -> [OpenSSL::PKCS7::RecipientInfo]

メッセージの送信先の情報を配列で返します。

signers -> [OpenSSL::PKCS7::SignerInfo]

メッセージの署名者を表す OpenSSL::PKCS7::SignerInfo オブジェクトの配列を返します。

to_der -> String

DER 形式のバイナリ列に変換します。

to_pem -> String
to_s -> String

PEM 形式の文字列に変換します。

type -> Symbol

PKCS7 オブジェクトのタイプを Symbol オブジェクトで返します。

type=(type)

PKCS7 オブジェクトのタイプを Symbol オブジェクトで設定します。

verify(certs, store, indata = nil, flags = 0) -> bool

署名を検証します。

定数

定義 説明
BINARY -> Integer

MIME canonical format への変換を行いません。

DETACHED -> Integer

平文に署名を付ける形式 (multipart/signed) で行います。

NOATTR -> Integer

PKCS#7 autenticatedAttributes(署名した時間などの情報) を省略します。

NOCERTS -> Integer

署名者の証明書を署名に含めません。送り先がすでに証明書をもっている場合など、他の方法で証明書を手に入れることができる場合にデータ量を減らすために用います。

NOCHAIN -> Integer

署名検証時に、メッセージに含まれる証明書を中間 CA として利用しません。

NOINTERN -> Integer

署名検証時に、署名者の証明書をメッセージに添付された証明書から探索しません。

NOSIGS -> Integer

署名の検証を行いません。

NOSMIMECAP -> Integer

署名者が使用可能な暗号アルゴリズムの情報など(SMIMECapabilities)を省略します。

NOVERIFY -> Integer

署名検証時に署名者の証明書の検証を行いません。

TEXT -> Integer

text/plain タイプの MIME ヘッダーを取り扱います。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined !~ <=> == === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap then to_a to_ary to_hash to_int to_io to_proc to_regexp to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE