本文簡要介紹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回調
- :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"]]
- :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 SSLContext.add_certificate用法及代碼示例
- Ruby SSLContext.renegotiation_cb用法及代碼示例
- Ruby SSLContext.alpn_select_cb用法及代碼示例
- Ruby SSLContext.min_version =用法及代碼示例
- Ruby SSLContext.ecdh_curves =用法及代碼示例
- Ruby SSLContext.alpn_protocols用法及代碼示例
- Ruby SSLContext.tmp_dh =用法及代碼示例
- Ruby SSLContext.npn_protocols用法及代碼示例
- Ruby SSLContext.npn_select_cb用法及代碼示例
- Ruby SSLSocket.open用法及代碼示例
- Ruby SSLSocket.accept_nonblock用法及代碼示例
- Ruby SSLSocket.connect_nonblock用法及代碼示例
- Ruby Symbol capitalize用法及代碼示例
- Ruby SizedQueue clear()用法及代碼示例
- Ruby Spotter.spot_op_asgn2_for_name用法及代碼示例
- Ruby StringScanner skip_until用法及代碼示例
- Ruby StringScanner search_full用法及代碼示例
- Ruby String.match?用法及代碼示例
- Ruby StringScanner.beginning_of_line?用法及代碼示例
- Ruby Stat.stat <=>用法及代碼示例
- Ruby Symbol.to_proc用法及代碼示例
- Ruby Symbol.end_with?用法及代碼示例
- Ruby StringScanner restsize用法及代碼示例
- Ruby Spotter.spot_opcall_for_name用法及代碼示例
- Ruby Set flatten()用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 SSLConfig.new。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。