为什么 ruby 请求宝石没有正确格式化证书
Why are ruby request gems not formatting certs correctly
我正在努力使用证书发出一些安全请求。在邮递员中,我能够包含证书和密钥并毫无问题地提出请求。但在 Rails 中,使用 HTTParty、RestClient 和 Net::HTTP 它不起作用。使用 HTTParty,即使使用 pem 或 ssl_ca_path class 宏,它也不会附加 cert/key。
我按照示例集 here 将 cert/key 附加到请求。当我撬开检查请求时。
这似乎是 OpenSSL::X509::Certificate
模块中的错误,因为所有 gems 都需要一个 OpenSSL::X509
对象。但我在任何网站上都找不到对此的任何参考。任何人都知道为什么这会在邮递员和 javascript 中起作用,但不能 Rails 使用任何顶级 gem 来发出请求?
有了所有的宝石,我用 OpenSSL::X509::Certificate.new(File.read('path/to/cert.pem'))
设置证书,用 OpenSSL::PKey::RSA.new(File.read('path/to/key.pem'))
设置密钥
找到答案了。结果 OpenSSL::X509::Certificate
并没有解析整个证书链。谷歌搜索后,发现这个 post 可以通过猴子修补 Net::HTTP
来为链
接受更多证书
我正在努力使用证书发出一些安全请求。在邮递员中,我能够包含证书和密钥并毫无问题地提出请求。但在 Rails 中,使用 HTTParty、RestClient 和 Net::HTTP 它不起作用。使用 HTTParty,即使使用 pem 或 ssl_ca_path class 宏,它也不会附加 cert/key。
我按照示例集 here 将 cert/key 附加到请求。当我撬开检查请求时。
这似乎是 OpenSSL::X509::Certificate
模块中的错误,因为所有 gems 都需要一个 OpenSSL::X509
对象。但我在任何网站上都找不到对此的任何参考。任何人都知道为什么这会在邮递员和 javascript 中起作用,但不能 Rails 使用任何顶级 gem 来发出请求?
有了所有的宝石,我用 OpenSSL::X509::Certificate.new(File.read('path/to/cert.pem'))
设置证书,用 OpenSSL::PKey::RSA.new(File.read('path/to/key.pem'))
找到答案了。结果 OpenSSL::X509::Certificate
并没有解析整个证书链。谷歌搜索后,发现这个 post 可以通过猴子修补 Net::HTTP
来为链