Current Path : /compat/linux/proc/self/root/usr/local/share/examples/ruby18/openssl/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/self/root/usr/local/share/examples/ruby18/openssl/smime_read.rb |
require 'getopts' require 'openssl' include OpenSSL getopts nil, "c:", "k:", "C:" cert_file = $OPT_c key_file = $OPT_k ca_path = $OPT_C data = $stdin.read cert = X509::Certificate.new(File::read(cert_file)) key = PKey::RSA.new(File::read(key_file)) p7enc = PKCS7::read_smime(data) data = p7enc.decrypt(key, cert) store = X509::Store.new store.add_path(ca_path) p7sig = PKCS7::read_smime(data) if p7sig.verify([], store) puts p7sig.data end