Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library openssl

library openssl

要約

OpenSSL を Ruby から扱うためのライブラリです。

http://www.openssl.org support library for Ruby. 動作や使える暗号方式は

[[unknown:執筆者募集]]

Components

自己署名証明書の作成の例です。自分の秘密鍵で自分の公開鍵に署名しているから自己署名です。

require 'openssl'

key = OpenSSL::PKey::RSA.new(1024)
digest = OpenSSL::Digest::SHA1.new()

issu = sub = OpenSSL::X509::Name.new()
sub.add_entry('C', 'JP')
sub.add_entry('ST', 'Shimane')
sub.add_entry('CN', 'Ruby Taro')

cer = OpenSSL::X509::Certificate.new()
cer.not_before = Time.at(0)
cer.not_after = Time.at(0)
cer.public_key = key  # <= 署名する対象となる公開鍵
cer.serial = 1
cer.issuer = issu
cer.subject = sub

cer.sign(key, digest) # <= 署名するのに使う秘密鍵とハッシュ関数
print cer.to_text

クラスとモジュール

module OpenSSL

このページは定数と例外のみを説明しています。

module OpenSSL::ASN1

参照

class OpenSSL::ASN1::ASN1Data

ASN.1データ型のスーパークラス

class OpenSSL::ASN1::BMPString
class OpenSSL::ASN1::BitString
class OpenSSL::ASN1::Boolean
class OpenSSL::ASN1::Constructive
class OpenSSL::ASN1::Enumerated
class OpenSSL::ASN1::GeneralString
class OpenSSL::ASN1::GeneralizedTime
class OpenSSL::ASN1::GraphicString
class OpenSSL::ASN1::IA5String
class OpenSSL::ASN1::ISO64String
class OpenSSL::ASN1::Integer
class OpenSSL::ASN1::Null
class OpenSSL::ASN1::NumericString
class OpenSSL::ASN1::ObjectId

ASN.1 のオブジェクト ID を操作するクラス

class OpenSSL::ASN1::OctetString
class OpenSSL::ASN1::Primitive
class OpenSSL::ASN1::PrintableString
class OpenSSL::ASN1::Sequence
class OpenSSL::ASN1::Set
class OpenSSL::ASN1::T61String
class OpenSSL::ASN1::UTCTime
class OpenSSL::ASN1::UTF8String
class OpenSSL::ASN1::UniversalString
class OpenSSL::ASN1::VideotexString
class OpenSSL::BN
class OpenSSL::Cipher::AES
class OpenSSL::Cipher::AES128
class OpenSSL::Cipher::AES192
class OpenSSL::Cipher::AES256
class OpenSSL::Cipher::BF
class OpenSSL::Cipher::CAST5
class OpenSSL::Cipher::Cipher

対称鍵暗号のために抽象化されたインターフェースを提供するクラスです。

class OpenSSL::Cipher::DES
class OpenSSL::Cipher::IDEA
class OpenSSL::Cipher::RC2
class OpenSSL::Cipher::RC4
class OpenSSL::Cipher::RC5
class OpenSSL::Digest::DSS
class OpenSSL::Digest::DSS1
class OpenSSL::Digest::Digest

ハッシュ関数のための抽象的なインターフェースを提供するクラスです。 digest も参照してください。

class OpenSSL::Digest::MD2
class OpenSSL::Digest::MD4
class OpenSSL::Digest::MD5
class OpenSSL::Digest::MDC2
class OpenSSL::Digest::RIPEMD160
class OpenSSL::Digest::SHA
class OpenSSL::Digest::SHA1
class OpenSSL::Digest::SHA224
class OpenSSL::Digest::SHA256
class OpenSSL::Digest::SHA384
class OpenSSL::Digest::SHA512
class OpenSSL::Engine
class OpenSSL::HMAC
class OpenSSL::Netscape::SPKI
module OpenSSL::OCSP
class OpenSSL::OCSP::BasicResponse
class OpenSSL::OCSP::CertificateId
class OpenSSL::OCSP::OCSPError
class OpenSSL::OCSP::Request
class OpenSSL::OCSP::Response
module OpenSSL::PKCS12
class OpenSSL::PKCS12::PKCS12
module OpenSSL::PKCS7

PKCS #7 モジュール

class OpenSSL::PKCS7::PKCS7

注意

class OpenSSL::PKCS7::RecipientInfo
class OpenSSL::PKCS7::Signer
class OpenSSL::PKCS7::SignerInfo
class OpenSSL::PKey::DH

Diffie-Hellman 暗号クラス

class OpenSSL::PKey::DSA

以下は、data に署名し、署名をもとに data を検証する簡単な例です。

class OpenSSL::PKey::PKey

公開鍵暗号のための抽象クラス

class OpenSSL::PKey::RSA

RSA 暗号鍵クラス

module OpenSSL::Random
module OpenSSL::SSL
*[[c:OpenSSL::SSL::SSLContext]]
*[[c:OpenSSL::SSL::SSLServer]]
*[[c:OpenSSL::SSL::SSLSocket]]
class OpenSSL::SSL::SSLContext

SSL コンテクストクラス

class OpenSSL::SSL::SSLServer

SSL サーバーのためのクラス。TCPServer に対応します。

class OpenSSL::SSL::SSLSocket

SSLSocket クラス

module OpenSSL::SSL::SocketForwarder
module OpenSSL::X509
class OpenSSL::X509::Attribute
class OpenSSL::X509::CRL

CRL(証明書失効リスト) クラス。

class OpenSSL::X509::Certificate

X509 証明書クラス

class OpenSSL::X509::Extension

X.509 v3 証明書の拡張領域のためのクラスです。OpenSSL::X509::Certificate オブジェクトは その拡張領域を Extension オブジェクトの配列として保持しています。

class OpenSSL::X509::ExtensionFactory

[[unknown:執筆者募集]]

class OpenSSL::X509::Name
class OpenSSL::X509::Request
class OpenSSL::X509::Revoked

失効した証明書のクラス。OpenSSL::X509::CRL クラスから使われます。

class OpenSSL::X509::StoreContext

例外クラス

class OpenSSL::OpenSSLError
class OpenSSL::ASN1::ASN1Error

OpenSSL::OpenSSLError を継承した例外です。

class OpenSSL::BNError
class OpenSSL::CipherError
class OpenSSL::Digest::DigestError
class OpenSSL::Engine::EngineError
class OpenSSL::HMACError
class OpenSSL::Netscape::SPKIError
class OpenSSL::PKCS12::PKCS12Error
class OpenSSL::PKey::PKeyError
class OpenSSL::Random::RandomError
class OpenSSL::SSL::SSLError
class OpenSSL::X509::AttributeError
class OpenSSL::X509::CRLError
class OpenSSL::X509::CertificateError
class OpenSSL::X509::ExtensionError
class OpenSSL::X509::NameError
class OpenSSL::X509::RequestError
class OpenSSL::X509::RevokedError
class OpenSSL::X509::Store

Classes

Sublibraries