【问题标题】:Why are ruby request gems not formatting certs correctly为什么 ruby​​ 请求 gem 不能正确格式化证书
【发布时间】:2020-08-07 19:08:47
【问题描述】:

我正在处理一些带有证书的安全请求。在邮递员中,我可以包含证书和密钥并毫无问题地提出请求。但在 Rails 中,使用 HTTParty、RestClient 和 Net::HTTP 则不起作用。使用 HTTParty,即使使用 pem 或 ssl_ca_path 类宏,它也不会附加证书/密钥。

我按照示例集here 将证书/密钥附加到请求中。当我把一个窥探进来检查请求时。

这似乎是 OpenSSL::X509::Certificate 模块中的一个错误,因为所有 gem 都需要一个 OpenSSL::X509 对象。但我在任何网站上都找不到对此的任何参考。任何人都知道为什么这可以在邮递员和 javascript 中工作,而不是在 Rails 中使用任何顶级宝石来发出请求?

有了所有的宝石,我用OpenSSL::X509::Certificate.new(File.read('path/to/cert.pem')) 设置证书,用OpenSSL::PKey::RSA.new(File.read('path/to/key.pem')) 设置密钥

【问题讨论】:

    标签: ruby-on-rails openssl x509certificate rest-client


    【解决方案1】:

    找到了答案。原来OpenSSL::X509::Certificate 没有解析整个证书链。谷歌搜索后,发现这篇文章通过猴子修补Net::HTTP 来接受更多的链证书

    Monkey Patch Net::HTTP

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 2015-07-12
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      相关资源
      最近更新 更多