PKCS #7 モジュール
PKCS7.read_smime(str)
PKCS7.read_smime(io)S/MIME 形式を読み込み、PKCS7 オブジェクトを返す。
PKCS7.write_smime(p7sig)
PKCS7.write_smime(p7sig, data, flags=DETACHED)PKCS7 オブジェクトから S/MIME 形式の文字列を返す。 multipart/signed による平文署名である場合、署名されたデータを data として与えなければいけない。
data = "hoge"
p7 = PKCS7.sign( X509::Certificate.new(File.read('cert.pem')),
PKey::RSA.new(File.read('privkey.pem')),
data)
smime = PKCS7.write_smime(p7, data)PKCS7.sign(cert, key, data, []=nil, flags=0)data に証明書 cert を付けて key で署名する。
PKCS7.encrypt([rcpt], smime)S/MIME 形式の文字列をメッセージの受け取り手の公開鍵 rcpt を使って暗号化する。
DETACHED平文に署名を付ける形式(multipart/signed)で行う。 PKCS7.sign() において DETACHED がセットされていた時にだけ意味をもつ。
TEXTtext/plain のためのコンテンツに MIME ヘッダーを加える。DETACHED ビットが立っている時だけ意味をもつ。
BINARYMIME canonical format への変換を行わない。
NOATTR署名した時間などの情報を省略。
NOCERTS署名者の証明書を署名に含めない。送り先がすでに証明書をもっている場合、データの量を減らすことができる。
NOCHAIN
NOINTERN
NOSIGS
NOSMIMECAP署名者が使用可能な暗号アルゴリズムの情報などを省略。
NOVERIFY