クラス
- Integer (1)
-
OpenSSL
:: ASN1 :: ASN1Data (1) -
OpenSSL
:: ASN1 :: BMPString (2) -
OpenSSL
:: ASN1 :: BitString (2) -
OpenSSL
:: ASN1 :: Boolean (2) -
OpenSSL
:: ASN1 :: Enumerated (2) -
OpenSSL
:: ASN1 :: GeneralString (2) -
OpenSSL
:: ASN1 :: GeneralizedTime (2) -
OpenSSL
:: ASN1 :: GraphicString (2) -
OpenSSL
:: ASN1 :: IA5String (2) -
OpenSSL
:: ASN1 :: ISO64String (2) -
OpenSSL
:: ASN1 :: Integer (2) -
OpenSSL
:: ASN1 :: Null (2) -
OpenSSL
:: ASN1 :: NumericString (2) -
OpenSSL
:: ASN1 :: ObjectId (8) -
OpenSSL
:: ASN1 :: OctetString (2) -
OpenSSL
:: ASN1 :: PrintableString (2) -
OpenSSL
:: ASN1 :: Sequence (2) -
OpenSSL
:: ASN1 :: Set (2) -
OpenSSL
:: ASN1 :: T61String (2) -
OpenSSL
:: ASN1 :: UTCTime (2) -
OpenSSL
:: ASN1 :: UTF8String (2) -
OpenSSL
:: ASN1 :: UniversalString (2) -
OpenSSL
:: ASN1 :: VideotexString (2) -
OpenSSL
:: BN (16) -
OpenSSL
:: Cipher (1) -
OpenSSL
:: Cipher :: AES (1) -
OpenSSL
:: Cipher :: AES128 (1) -
OpenSSL
:: Cipher :: AES192 (1) -
OpenSSL
:: Cipher :: AES256 (1) -
OpenSSL
:: Cipher :: BF (1) -
OpenSSL
:: Cipher :: CAST5 (1) -
OpenSSL
:: Cipher :: DES (1) -
OpenSSL
:: Cipher :: IDEA (1) -
OpenSSL
:: Cipher :: RC2 (2) -
OpenSSL
:: Cipher :: RC4 (2) -
OpenSSL
:: Cipher :: RC5 (1) -
OpenSSL
:: Config (2) -
OpenSSL
:: Digest (1) -
OpenSSL
:: Digest :: DSS (1) -
OpenSSL
:: Digest :: DSS1 (1) -
OpenSSL
:: Digest :: Digest (1) -
OpenSSL
:: Digest :: MD2 (1) -
OpenSSL
:: Digest :: MD4 (1) -
OpenSSL
:: Digest :: MD5 (1) -
OpenSSL
:: Digest :: MDC2 (1) -
OpenSSL
:: Digest :: RIPEMD160 (1) -
OpenSSL
:: Digest :: SHA (1) -
OpenSSL
:: Digest :: SHA1 (1) -
OpenSSL
:: Digest :: SHA224 (1) -
OpenSSL
:: Digest :: SHA256 (1) -
OpenSSL
:: Digest :: SHA384 (1) -
OpenSSL
:: Digest :: SHA512 (1) -
OpenSSL
:: HMAC (1) -
OpenSSL
:: Netscape :: SPKI (2) -
OpenSSL
:: OCSP :: BasicResponse (1) -
OpenSSL
:: OCSP :: CertificateId (1) -
OpenSSL
:: OCSP :: Request (2) -
OpenSSL
:: OCSP :: Response (3) -
OpenSSL
:: PKCS12 (1) -
OpenSSL
:: PKCS7 (3) -
OpenSSL
:: PKCS7 :: RecipientInfo (1) -
OpenSSL
:: PKCS7 :: SignerInfo (1) -
OpenSSL
:: PKey :: DH (3) -
OpenSSL
:: PKey :: DSA (4) -
OpenSSL
:: PKey :: EC (4) -
OpenSSL
:: PKey :: EC :: Group (2) -
OpenSSL
:: PKey :: EC :: Point (3) -
OpenSSL
:: PKey :: RSA (13) -
OpenSSL
:: SSL :: SSLContext (9) -
OpenSSL
:: SSL :: SSLServer (1) -
OpenSSL
:: SSL :: SSLSocket (5) -
OpenSSL
:: SSL :: Session (1) -
OpenSSL
:: X509 :: Attribute (2) -
OpenSSL
:: X509 :: CRL (2) -
OpenSSL
:: X509 :: Certificate (2) -
OpenSSL
:: X509 :: Extension (2) -
OpenSSL
:: X509 :: ExtensionFactory (5) -
OpenSSL
:: X509 :: Name (5) -
OpenSSL
:: X509 :: Request (2) -
OpenSSL
:: X509 :: Revoked (1) -
OpenSSL
:: X509 :: Store (5) -
OpenSSL
:: X509 :: StoreContext (3)
モジュール
-
OpenSSL
:: ASN1 (45)
キーワード
- <=> (1)
- ASN1 (1)
- BMPString (2)
- BitString (2)
- Boolean (2)
- Cipher (1)
-
DEFAULT
_ OBJECT _ TYPE (1) - DH (1)
- DSA (1)
- Digest (1)
- Enumerated (2)
- ExtensionFactory (1)
- GeneralString (2)
- GeneralizedTime (2)
- GraphicString (2)
- IA5String (2)
- ISO64String (2)
- Integer (2)
- Null (2)
- NumericString (2)
-
OBJECT
_ TYPE _ TEMPLATE (1) - OCSP (1)
- ObjectId (2)
- OctetString (2)
- PKey (1)
- PrintableString (2)
- RSA (1)
- Request (1)
- SSLServer (1)
- SSLSocket (1)
- Sequence (2)
- Set (2)
- T61String (2)
- UTCTime (2)
- UTF8String (2)
- UniversalString (2)
- VideotexString (2)
-
bit
_ set? (1) -
builtin
_ curves (1) - ciphers (1)
-
clear
_ bit! (1) -
client
_ cert _ cb= (1) - cmp (1)
- context (1)
- create (1)
- crl= (1)
- d= (1)
- decode (1)
- dmp1= (1)
- dmq1= (1)
- e= (1)
- error= (1)
- flags= (1)
- io (1)
- iqmp= (1)
-
issuer
_ certificate= (1) - ln (1)
- load (1)
-
long
_ name (1) -
mod
_ add (1) -
mod
_ exp (1) -
mod
_ mul (1) -
mod
_ sub (1) - n= (1)
-
num
_ bits (1) - oid (1)
- p= (1)
-
prime
_ fasttest? (1) -
public
_ key? (1) - purpose= (1)
- q= (1)
- register (1)
-
renegotiation
_ cb= (1) -
session
_ new _ cb (1) -
session
_ new _ cb= (1) -
set
_ bit! (1) -
set
_ params (1) -
short
_ name (1) - sn (1)
-
ssl
_ version= (1) -
subject
_ certificate= (1) -
subject
_ request= (1) -
to
_ bn (1) -
to
_ io (1) -
to
_ s (1) - ucmp (1)
- verify (3)
-
write
_ smime (1)
検索結果
先頭5件
-
OpenSSL
:: BN # cmp(other) -> -1 | 0 | 1 (33295.0) -
自身と other を比較し、自身が小さいときには -1、 等しいときには 0、大きいときには 1 を返します。
...ときには 1 を返します。
//emlist[][ruby]{
require 'openssl'
OpenSSL::BN.new(5) <=> 5 # => 0
OpenSSL::BN.new(5) <=> OpenSSL::BN.new(9) # => -1
OpenSSL::BN.new(5) <=> OpenSSL::BN.new(5) # => 0
OpenSSL::BN.new(5) <=> OpenSSL::BN.new(-5) # => 1
//}
@param other 比較する整数
@r......aise TypeError 比較できないときに発生します。
@see OpenSSL::BN#ucmp... -
OpenSSL
:: BN # ucmp(other) -> -1 | 0 | 1 (33295.0) -
自身と other の絶対値を比較し、自身の絶対値が小さいときには -1、 等しいときには 0、 大きいときには 1 を返します。
...には 1 を返します。
//emlist[][ruby]{
require 'openssl'
OpenSSL::BN.new(-5).ucmp(5) # => 0
OpenSSL::BN.new(5).ucmp(OpenSSL::BN.new(-9)) # => -1
OpenSSL::BN.new(-5).ucmp(OpenSSL::BN.new(5)) # => 0
OpenSSL::BN.new(-5).ucmp(OpenSSL::BN.new(2)) # => 1
//}
@param other 比較する整......数
@raise TypeError 比較できないときに発生します。
@see OpenSSL::BN#cmp... -
OpenSSL
:: OCSP (33259.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 . write _ smime(p7sig , data=nil , flags = 0) -> String (33259.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 (33259.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
:: X509 :: Request (33241.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
:: X509 :: Store # purpose=(purpose) (33223.0) -
証明書の使用目的を設定します。
...ます。
* OpenSSL::X509::PURPOSE_ANY
* OpenSSL::X509::PURPOSE_CRL_SIGN
* OpenSSL::X509::PURPOSE_NS_SSL_SERVER
* OpenSSL::X509::PURPOSE_SMIME_ENCRYPT
* OpenSSL::X509::PURPOSE_SMIME_SIGN
* OpenSSL::X509::PURPOSE_SSL_CLIENT
* OpenSSL::X509::PURPOSE_SSL_SERVER
* OpenSSL::X509::PURPOSE_......OCSP_HELPER
この値は OpenSSL::X509::Store#verify で検証する場合に利用されます。
証明書に記載されている使用目的が適合していない場合には検証が失敗します。
OpenSSL::X509::StoreContext.new で証明書ストアコンテキストを
生成する場......合にはそのコンテキストにこの値がコピーされます。
@param purpose 証明書の使用目的を表す整数値
@see OpenSSL::X509::StoreContext#purpose=... -
OpenSSL
:: X509 :: ExtensionFactory (33217.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 :: StoreContext # error=(error) (33205.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
:: SSL :: SSLContext # client _ cert _ cb=(cb) (33199.0) -
OpenSSL::SSL::SSLContext#cert= でクライアント証明書を セットしていなかった場合にサーバからクライアント証明書の要求が来たときに 呼びだされるコールバックオブジェクトを設定します。
...OpenSSL::SSL::SSLContext#cert= でクライアント証明書を
セットしていなかった場合にサーバからクライアント証明書の要求が来たときに
呼びだされるコールバックオブジェクトを設定します。
コールバックに渡される引数は以下......している OpenSSL::SSL::SSLSocket
オブジェクトが渡されます。そのオブジェクトから必要な証明書を見つけるのに
必要な情報を取得します。
コールバックはクライアント証明書(OpenSSL::X509::Certificate)
とその秘密鍵(OpenSSL::PKey::PKey)......のコールバック内で例外が発生すると、適当な証明書が見付からなかったと
判断されます。このとき例外は OpenSSL のライブラリによって握り潰されて
しまいます。
デフォルトは nil で、コールバックなしを意味します。こ... -
OpenSSL
:: ASN1 :: ObjectId . register(oid , short _ name , long _ name) -> true (33163.0) -
オブジェクト識別子に対応する名前(short name と long name)を OpenSSLの内部テーブルに登録します。
...
OpenSSLの内部テーブルに登録します。
登録した名前は OpenSSL::X509::Extension などで利用できるようになります。
例:
require "openssl"
OpenSSL::ASN1::ObjectId.register(
"2.5.29.9", "subjectDirAttrs", "X509v3 Subject Directory Attributes")
p OpenSSL::AS......t Directory Attributes"
@param oid 登録する識別子(ドット区切り数字表記の文字列)
@param short_name short nameとして登録する文字列
@param long_name long nameとして登録する文字列
@raise OpenSSL::ASN1::ASN1Error 登録に失敗した場合に発生します。... -
OpenSSL
:: BN # prime _ fasttest?(checks=nil , vtrivdiv=true) -> bool (33151.0) -
自身が素数であるなら true を返します。
...繰り返します。
checksがnilである場合は OpenSSL が適切な
回数を判断します。
//emlist[][ruby]{
require 'openssl'
# 181 は 「小さな素数」である
OpenSSL::BN.new("181").prime_fasttest?(nil, true) # => false
OpenSSL::BN.new("181").prime_fasttest?(nil, false) # => tr......ue
//}
@param checks Miller-Robin法の繰り返しの回数
@param vtrivdiv 真なら小さな素数で割ることでの素数判定を試みます
@raise OpenSSL::BNError 判定時にエラーが発生
@see OpenSSL::BN#prime?... -
OpenSSL
:: SSL :: SSLServer (33151.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
:: BN # num _ bits -> Integer (33133.0) -
自身を表現するのに使っているビット数を返します。
...自身を表現するのに使っているビット数を返します。
符号は無視されます。
//emlist[][ruby]{
require 'openssl'
OpenSSL::BN.new("127").num_bits # => 7
OpenSSL::BN.new("-127").num_bits # => 7
OpenSSL::BN.new("128").num_bits # => 8
//}... -
OpenSSL
:: BN # to _ s(base=10) -> String (33133.0) -
自身を表す文字列を返します。
...列
0 MPI形式の文字列(バイト列)
@param base 文字列への変換方法(基数)
@raise OpenSSL::BNError 変換に失敗した場合に発生します
//emlist[][ruby]{
require 'openssl'
p 10.to_bn.to_s # => "10"
p (-5).to_bn.to_s # => "-5"
p 0.to_bn.to_s(16) # => "0"
p 9.to_......o_s(2) # => "\a"
p 0.to_bn.to_s(0) # => "\x00\x00\x00\x00"
p 6.to_bn.to_s(0) # => "\x00\x00\x00\x01\x06"
p 7.to_bn.to_s(0) # => "\x00\x00\x00\x01\a"
//}
反対に、文字列から OpenSSL::BN クラスのインスタンスを作るには
OpenSSL::BN.new を用います。
@see OpenSSL::BN.new... -
OpenSSL
:: PKey :: DH (33133.0) -
Diffie-Hellman 鍵共有クラス
...有クラス
Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。
Diffie-Hellman はこのライブラリで......は基本的には鍵共有にしか利用できません。
=== 例
鍵共有の例。
require 'openssl'
# パラメータの生成
dh = OpenSSL::PKey::DH.generate(1024, 5)
# パラメータのチェック
raise "bad DH parameter" unless dh.params_ok?
# 以下、dh1 と dh2 が通......つ複製することにしている
# dh1 は dh をそのまま使う
dh1 = dh
# パラメータを複製して dh2 に渡す
dh2 = OpenSSL::PKey::DH.new(dh)
# 両端が鍵パラメータから鍵対を生成する
dh1.generate_key!
dh2.generate_key!
# 通信の両端で公... -
OpenSSL
:: PKey :: PKey (33133.0) -
公開鍵暗号のための抽象クラスです。
...クラスです。
以下のサブクラスを持ちます。
* OpenSSL::PKey::RSA
* OpenSSL::PKey::DSA
* OpenSSL::PKey::DH
* OpenSSL::PKey::EC
例:
require "openssl"
# 署名用の鍵を新規作成
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
# 署名
sign = dsa512.sig... -
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) -> bool (33133.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 (33133.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
:: BN # bit _ set?(n) -> bool (33115.0) -
自身の n ビット目が立っているなら true を返します。
...自身の n ビット目が立っているなら true を返します。
//emlist[][ruby]{
require 'openssl'
OpenSSL::BN.new("129").bit_set?(0) # => true
OpenSSL::BN.new("129").bit_set?(1) # => false
//}
@param n 調べるビットの位置
@see OpenSSL::set_bit!... -
OpenSSL
:: BN # set _ bit!(n) -> self (33115.0) -
自身の n ビット目を1にします。
...自身の n ビット目を1にします。
//emlist[][ruby]{
require 'openssl'
a = OpenSSL::BN.new("128")
a.set_bit!(0)
a # => 129
//}
@param n 1にするビットの位置
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::clear_bit!, OpenSSL::bit_set?... -
OpenSSL
:: PKey :: EC # public _ key? -> bool (33115.0) -
EC オブジェクトが公開鍵を保持していれば真を返します。
...ブジェクトが公開鍵を保持していれば真を返します。
OpenSSL::PKey::RSA や OpenSSL::PKey::DSA と
異なり、EC オブジェクトが公開鍵を含まない場合が存在します。
例えば、OpenSSL::PKey::EC.new でパラメータとなる群のみを
指定して EC......った場合は、公開鍵も秘密鍵も
保持していません。この場合 OpenSSL::PKey::EC#generate_key で
鍵を生成するまで、その状態のままです。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化され... -
OpenSSL
:: X509 :: Store # flags=(flags) (33115.0) -
CRL に関するフラグを設定します。
...ら必要なものを選んで OR 取り、渡します。
* OpenSSL::X509::V_FLAG_CRL_CHECK
* OpenSSL::X509::V_FLAG_CRL_CHECK_ALL
このフラグは OpenSSL::X509::Store#verify で検証する場合に利用されます。
OpenSSL::X509::StoreContext.new で証明書ストアコンテキスト......を
生成する場合にはそのコンテキストにフラグがコピーされます。
デフォルトではフラグは設定されていません。
@param flags 設定するフラグ(整数値)
@see OpenSSL::X509::StoreContext#flags=... -
OpenSSL
:: X509 :: StoreContext # verify -> bool (33115.0) -
証明書を検証します。
...。
OpenSSL::X509::StoreContext.new で設定した証明書を検証します。
検証に成功した場合は true を、失敗した場合は false を返します。
検証の詳細な情報は
* OpenSSL::X509::StoreContext#error
* OpenSSL::X509::StoreContext#error_string
* OpenSSL::X50......9::StoreContext#chain
* OpenSSL::X509::StoreContext#current_crl... -
OpenSSL
:: BN # clear _ bit!(n) -> self (33097.0) -
自身の n ビット目を0にします。
...自身の n ビット目を0にします。
//emlist[][ruby]{
require 'openssl'
a = OpenSSL::BN.new("129")
a.clear_bit!(0)
a # => 128
//}
@param n 0にするビットの位置
@raise OpenSSL::BNError 計算時エラー
@see OpenSSL::set_bit!... -
OpenSSL
:: Digest (33097.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... -
OpenSSL
:: SSL :: SSLSocket (33097.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
...。
require 'socket'
require 'openssl'
include OpenSSL
soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification error" if ssl.verify_result != OpenSSL::X509::V_OK
ssl.write('hoge')
p... -
OpenSSL
:: ASN1 :: ObjectId # ln -> String | nil (33079.0) -
オブジェクト識別子に対応する long name を返します。
...オブジェクト識別子に対応する long name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.ln #=> "X509v3 Subject Alternative Name"
@see OpenSSL::ASN1::ObjectId#sn... -
OpenSSL
:: ASN1 :: ObjectId # long _ name -> String | nil (33079.0) -
オブジェクト識別子に対応する long name を返します。
...オブジェクト識別子に対応する long name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.ln #=> "X509v3 Subject Alternative Name"
@see OpenSSL::ASN1::ObjectId#sn... -
OpenSSL
:: ASN1 :: ObjectId # oid -> String (33079.0) -
オブジェクト識別子のドット区切り数値を文字列で返します。
...ブジェクト識別子のドット区切り数値を文字列で返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.oid #=> "2.5.29.17"
@raise OpenSSL::ASN1::ASN1Error オブジェクト識別子名が未知である場合に発生します... -
OpenSSL
:: ASN1 :: ObjectId # short _ name -> String | nil (33079.0) -
オブジェクト識別子に対応する short name を返します。
...オブジェクト識別子に対応する short name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.sn #=> "subjectAltName"
@see OpenSSL::ASN1::ObjectId#ln... -
OpenSSL
:: ASN1 :: ObjectId # sn -> String | nil (33079.0) -
オブジェクト識別子に対応する short name を返します。
...オブジェクト識別子に対応する short name を返します。
例:
require "openssl"
oid = OpenSSL::ASN1::ObjectId.new("subjectAltName")
p oid.sn #=> "subjectAltName"
@see OpenSSL::ASN1::ObjectId#ln... -
OpenSSL
:: PKey :: EC . builtin _ curves -> [[String , String]] (33079.0) -
組み込みの曲線の名前と、それに対する説明を文字列の配列ペアの配列で返します。
...組み込みの曲線の名前と、それに対する説明を文字列の配列ペアの配列で返します。
例:
require 'openssl'
OpenSSL::PKey::EC.builtin_curves
# => [["secp112r1", "SECG/WTLS curve over a 112 bit prime field"],
# ["secp112r2", "SECG curve over a 112 bit prim......e field"],
# ["secp128r1", "SECG curve over a 128 bit prime field"],
# ["secp128r2", "SECG curve over a 128 bit prime field"],
# ... ]
@see OpenSSL::PKey::EC::Group.new... -
OpenSSL
:: X509 :: Name :: DEFAULT _ OBJECT _ TYPE -> Integer (33079.0) -
属性値のデフォルトの ASN.1 の型です。
...属性値のデフォルトの ASN.1 の型です。
OpenSSL::X509::Name.parse や OpenSSL::X509::Name.new で
template に指定されなかった属性はこの型であると仮定して処理されます。
OpenSSL::ASN1::UTF8STRING を返します。... -
OpenSSL
:: PKey :: DSA (33061.0) -
DSA 公開鍵暗号クラス
...ゴリズムであり、暗号化はできません。
以下は、data に署名し、署名をもとに data を検証する簡単な例です。
require "openssl"
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
sign = dsa512.sign('dss1', data)
p dsa512.verify('dss1', sign, data)... -
OpenSSL
:: SSL :: SSLContext # ciphers -> [[String , String , Integer , Integer]] (33061.0) -
利用可能な共通鍵暗号の種類を配列で返します。
...の文字列, 利用可能なSSL/TLSのバージョン文字列, 鍵長(ビット数), アルゴリズムのビット長]
例:
require 'openssl'
ctx = OpenSSL::SSL::SSLContext.new('TLSv1')
ctx.ciphers
# => [["DHE-RSA-AES256-SHA", "TLSv1/SSLv3", 256, 256],
# ["DHE-DSS-AES256-SHA", "TLS... -
OpenSSL
:: SSL :: SSLContext # renegotiation _ cb=(cb) (33061.0) -
@todo
...@todo
ハンドシェイク開始時に呼び出されるコールバックを設定します。
コールバックには OpenSSL::SSL::SSLSocket オブジェクトが
渡されます。
このコールバック内で何らかの例外が生じた場合には
以降のSSLの処理を停止しま......す。
num_handshakes = 0
ctx.renegotiation_cb = lambda do |ssl|
num_handshakes += 1
raise RuntimeError.new("Client renegotiation disabled") if num_handshakes > 1
end
@param cb コールバック(Proc, Method など)もしくは nil
@see OpenSSL::SSL::SSLContext#renegotiation_cb... -
OpenSSL
:: X509 :: ExtensionFactory # crl=(crl) (33061.0) -
自身に証明書失効リストオブジェクトを設定します。
...自身に証明書失効リストオブジェクトを設定します。
@param crl 設定する証明書失効リスト(OpenSSL::X509::CRL)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new... -
OpenSSL
:: X509 :: ExtensionFactory # issuer _ certificate=(cert) (33061.0) -
自身に発行者(issuer)の証明書オブジェクトを設定します。
...自身に発行者(issuer)の証明書オブジェクトを設定します。
@param cert 設定する証明書(OpenSSL::X509::Certificate)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new... -
OpenSSL
:: X509 :: ExtensionFactory # subject _ certificate=(name) (33061.0) -
自身に所有者(subject)の証明書オブジェクトを設定します。
...自身に所有者(subject)の証明書オブジェクトを設定します。
@param cert 設定する証明書(OpenSSL::X509::Certificate)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new... -
OpenSSL
:: X509 :: ExtensionFactory # subject _ request=(req) (33061.0) -
自身に証明書署名要求オブジェクトを設定します。
...自身に証明書署名要求オブジェクトを設定します。
@param req 設定する証明書署名要求(OpenSSL::X509::Request)オブジェクト
@see OpenSSL::X509::ExtensionFactory.new... -
OpenSSL
:: X509 :: Name :: OBJECT _ TYPE _ TEMPLATE -> { String => Integer } (33061.0) -
属性型に対応する ASN.1の型を格納したハッシュです。
...属性型に対応する ASN.1の型を格納したハッシュです。
OpenSSL::X509::Name.parse や OpenSSL::X509::Name.new
などでデフォルト値として使われます。
キーは属性型文字列で、ASN.1の型を表わす整数が対応します。
以下の文字列がキーで... -
OpenSSL
:: SSL :: SSLContext # ssl _ version=(ver) (33043.0) -
利用するプロトコルの種類を文字列もしくは シンボルで指定します。
...利用するプロトコルの種類を文字列もしくは
シンボルで指定します。
OpenSSL::SSL::SSLContext.new で指定できるものと同じです。
@param ver 利用するプロトコルの種類... -
OpenSSL
:: SSL :: SSLSocket # io -> IO (33043.0) -
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
...SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
@see OpenSSL::SSL::SSLSocket.new... -
OpenSSL
:: SSL :: SSLSocket # to _ io -> IO (33043.0) -
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
...SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
@see OpenSSL::SSL::SSLSocket.new... -
Integer
# to _ bn -> OpenSSL :: BN (24502.0) -
Integer を同じ数を表す OpenSSL::BN のオブジェクトに 変換します。
...す OpenSSL::BN のオブジェクトに
変換します。
//emlist[][ruby]{
require 'openssl'
pp 5.to_bn #=> #<OpenSSL::BN 5>
pp (-5).to_bn #=> #<OpenSSL::BN -5>
//}
なお、実装は、以下のようになっています。
//emlist[][ruby]{
class Integer
def to_bn
OpenSSL::BN::n......ew(self)
end
end
//}
@see OpenSSL::BN.new, OpenSSL::BN#to_i...