當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby SSLConfig.new用法及代碼示例

本文簡要介紹ruby語言中 DRb::DRbSSLSocket::SSLConfig.new 的用法。

用法

new(config)

創建一個新的 DRb::DRbSSLSocket::SSLConfig 實例

DRb::DRbSSLSocket 將采用 config Hash SSLConfig 的實例,並將為其配置的會話設置證書。如果希望它生成通用證書,最低限度是提供 :SSLCertName

配置選項

來自 config 哈希:

:SSL證書

OpenSSL::X509::Certificate 的一個實例。如果未提供,則生成通用 X509,並帶有對應的 :SSLPrivateKey

:SSLPrivateKey

一個私鑰實例,例如 OpenSSL::PKey::RSA 。此 key 必須是簽署 :SSLCertificate 的 key

:SSLClientCA

證書的 OpenSSL::X509::Certificate Array 將在 SSL 上下文中用作 ClientCAs

:SSLCACertificatePath

CA 證書目錄的路徑。證書必須為 PEM 格式。

:SSLCACertificateFile

CA 證書文件的路徑,采用 PEM 格式。

:SSLTmpDh回調

DH 回調。見 OpenSSL::SSL::SSLContext.tmp_dh_callback

:SSLVerifyMode

這是 SSL 驗證模式。有關可用模式,請參閱 OpenSSL::SSL::VERIFY_*。默認為 OpenSSL::SSL::VERIFY_NONE

:SSLVerifyDepth

驗證證書鏈時要遍曆的 CA 證書數。

:SSLVerifyCallback

用於額外驗證的回調。見 OpenSSL::SSL::SSLContext.verify_callback

:SSLCertificateStore

用於驗證證書的 OpenSSL::X509::Store

:SSLCertName

證書的頒發者名稱。這在生成證書時是必需的(如果 :SSLCertificate 和 :SSLPrivateKey 沒有給出)。其值為 Array 對:

[["C", "Raleigh"], ["ST","North Carolina"],
 ["CN","fqdn.example.com"]]

另見 OpenSSL::X509::Name

:SSLCert評論

用於生成證書的注釋。默認為“由 Ruby/OpenSSL 生成”

示例

這些值可以在事後添加,例如 Hash

require 'drb/ssl'
c = DRb::DRbSSLSocket::SSLConfig.new {}
c[:SSLCertificate] =
  OpenSSL::X509::Certificate.new(File.read('mycert.crt'))
c[:SSLPrivateKey] = OpenSSL::PKey::RSA.new(File.read('mycert.key'))
c[:SSLVerifyMode] = OpenSSL::SSL::VERIFY_PEER
c[:SSLCACertificatePath] = "/etc/ssl/certs/"
c.setup_certificate

或者

require 'drb/ssl'
c = DRb::DRbSSLSocket::SSLConfig.new({
        :SSLCertName => [["CN" => DRb::DRbSSLSocket.getservername]]
        })
c.setup_certificate

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 SSLConfig.new。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。