当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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