这是我的简单类,通过HTTPS请求具有PEM证书的Web服务。
require [omit verbose]
class Api
def initialize
@ctx = OpenSSL::SSL::Context::Client.new
@ctx.private_key = "/home/XXXXXX/development.pem"
@ctx.verify_mode = LibSSL::VerifyMode::NONE
end
def customers
response = HTTP::Client.get "https://XXX.XXX.XXX.XXX:XXXX/api/customers", nil, nil, @ctx
puts response.status_code
puts response.body
puts response.inspect
nil
end
end
Api.new.customers
但是我只能通过 crystal run src / api.cr 获得 401授权。
答案 0 :(得分:3)
您还需要设置certificate_chain。
在初始化方法
中添加此行@ctx.certificate_chain = "/home/XXXXXX/development.pem"