本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。