我正在ruby中发出类似的HTTP请求:
url = URI.parse('https://example.com')
req = Net::HTTP::Get.new(url.to_s)
res = Net::HTTP.start(url.host, url.port, :use_ssl => true) {|https|
http.request(req)
}
问题在于它告诉我SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
。
我找到了涉及指向.pem
文件的说明。
我假设这些文件是在HTTP请求的身份验证中使用的某种证书,但我不知道在哪里获得一个或如何使用它。
我也想知道为什么HTTPS请求要求请求者仍然拥有证书,因为他们是想要验证服务器真实性的人。我的计算机上是否已经没有一个中央证书用于此目的,因为我的网络浏览器(显然)能够发出HTTPS请求?
我的主要问题基本上是如何解决这个问题,但我们很高兴知道为什么我首先需要它。