如何告诉 Ruby 的 OpenSSL 库忽略自签名证书错误?

发布于 2024-08-08 08:27:21 字数 572 浏览 5 评论 0原文

我尝试按如下方式使用 Ruby 的 SOAP 支持:

SERVICE_URL = 'https://...'
...
def create_driver
  ::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver
  driver.options['protocol.http.ssl_config.verify_mode']  = OpenSSL::SSL::VERIFY_NONE
  driver.options['protocol.http.ssl_config.client_cert']  = @certificate_path
  driver
end

但是对 new(SERVICE_URL) 的调用因“OpenSSL::SSL::SSLError:证书验证失败”而崩溃。 ”对于第一次调用检索 WSDL 本身,如何执行与 driver.options['protocol.http.ssl_config.verify_mode'] = OpenSSL::SSL::VERIFY_NONE 等效的操作?

I'm trying to use Ruby's SOAP support as follows:

SERVICE_URL = 'https://...'
...
def create_driver
  ::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver
  driver.options['protocol.http.ssl_config.verify_mode']  = OpenSSL::SSL::VERIFY_NONE
  driver.options['protocol.http.ssl_config.client_cert']  = @certificate_path
  driver
end

but the call to new(SERVICE_URL) blows up with "OpenSSL::SSL::SSLError: certificate verify failed." How do I do the equivalent of driver.options['protocol.http.ssl_config.verify_mode'] = OpenSSL::SSL::VERIFY_NONE for the first call to retrieve the WSDL itself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

宣告ˉ结束 2024-08-15 08:27:21

我在加载路径上放置了一个名为“soap/property”的文件,例如:

- lib/
    - foo.rb
    - foo/
        - bar.rb
    - soap/
        - property

并将其放入文件中:

client.protocol.http.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE

或者,如果您有多个具有相同前缀的设置,则可以使用组语法:

[client.protocol.http]
ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
...

I put a file called "soap/property" on my load path, e.g.:

- lib/
    - foo.rb
    - foo/
        - bar.rb
    - soap/
        - property

And put this in the file:

client.protocol.http.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE

Alternatively, if you have multiple settings with the same prefix, you can use the group syntax:

[client.protocol.http]
ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
...
一场信仰旅途 2024-08-15 08:27:21

试试这个:

...
  OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
  ::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver
...

try this:

...
  OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
  ::SOAP::WSDLDriverFactory.new(SERVICE_URL).create_rpc_driver
...
对你而言 2024-08-15 08:27:21

我偶然发现了这个网址: https://gist.github.com/fnichol/867550 。可能对遇到类似问题的任何人有用。

I stumbled across this url : https://gist.github.com/fnichol/867550 .This might be useful for anyone who is having similar problems.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文