7件ヒット
[1-7件を表示]
(0.036秒)
クラス
-
OpenSSL
:: PKCS7 (1)
モジュール
-
OpenSSL
:: ASN1 (1)
キーワード
- Digest (1)
- ExtensionFactory (1)
- RSA (1)
- Request (1)
- SSLServer (1)
- decode (1)
-
write
_ smime (1)
検索結果
先頭5件
-
OpenSSL
:: SSL :: SSLServer (151.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 :: ExtensionFactory (115.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 :: Request (115.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
:: PKCS7 . write _ smime(p7sig , data=nil , flags = 0) -> String (79.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
:: PKey :: RSA (61.0) -
RSA 暗号鍵のクラスです。
...通常このクラスで利用するのは、
OpenSSL::PKey::RSA.generate, OpenSSL::PKey::RSA.new,
OpenSSL::PKey::RSA#public?, OpenSSL::PKey::RSA#private?,
OpenSSL::PKey::RSA#public_key, OpenSSL::PKey::RSA#to_text,
OpenSSL::PKey::RSA#to_pem, OpenSSL::PKey::RSA#to_der
のいずれかでしょう。......ついてよく理解し、必要な場合のみにすべきです。
例:
require 'openssl'
# initialize random seed
OpenSSL::Random.seed(File.read("/dev/random", 16))
# 鍵対を生成
rsa = OpenSSL::PKey::RSA.generate(2048)
# 秘密鍵をAES256で暗号化して private_key.pem に......PEM 形式で保存
passphrase = "!secret passphrase!"
File.open("private_key.pem", "w") do |f|
f.write(rsa.export(OpenSSL::Cipher.new("aes256"), passphrase))
end
# 公開鍵をpublic_key.pemに保存
public_key = rsa.public_key
File.open("public_key.pem", "w") do |f|
f.write(pu... -
OpenSSL
:: ASN1 . # decode(der) -> OpenSSL :: ASN1 :: ASN1Data (43.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
:: Digest (43.0) -
ハッシュ関数のためのインターフェースを提供するクラスです。
...を計算する (OpenSSL::Digest.digest,
Digest::Instance#hexdigest) 方法です。短い文字列の
ダイジェストを取るときにはこちらを使えばよいでしょう。
もう一つはダイジェストオブジェクトを作成して、文字列を順次
OpenSSL::Digest#update で......ストを計算
します。大きなファイルのハッシュ値を計算する場合などに
利用します。
例:
require 'openssl'
digest = OpenSSL::Digest.new("sha256")
File.open(filename){|f|
while data = f.read(1024)
digest.update(data)
end
}
puts digest.hexdig...