具有PEM证书的HTTP请求

时间:2017-09-12 13:29:58

标签: api http ssl pem crystal-lang

这是我的简单类,通过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授权

1 个答案:

答案 0 :(得分:3)

您还需要设置certificate_chain。

在初始化方法

中添加此行
@ctx.certificate_chain = "/home/XXXXXX/development.pem"