You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTTP.jl中使用客户端证书构造HTTP请求

HTTP.jl 携带客户端证书发送请求的实现方法

你之前的写法问题在于:直接向MbedTLS.SSLConfig传入证书、私钥路径的用法不符合接口定义,这个构造函数的入参不是证书文件路径,所以无法正确加载客户端证书。

以下是可正常运行的实现代码:

using HTTP, MbedTLS

# 初始化SSL配置
tls_config = MbedTLS.SSLConfig()
# 加载系统根证书(用于校验服务端证书有效性,公共CA签发的服务端证书不需要额外修改)
MbedTLS.ca_chain!(tls_config)
# 加载客户端证书
client_cert = MbedTLS.crt_parse(read("cert.pem", String))
MbedTLS.cert!(tls_config, client_cert)
# 加载客户端私钥,私钥有密码的话第二个参数传密码字符串即可
client_key = MbedTLS.parse_keyfile("private.key")
MbedTLS.key!(tls_config, client_key)

# 携带客户端证书发起请求
response = HTTP.request("GET", "你的目标请求地址", sslconfig = tls_config)

注意事项

  • 如果你访问的服务端使用自签名证书,测试环境下可以关闭服务端证书校验,添加参数require_ssl_verification=false即可,写法为:HTTP.request("GET", "目标地址", sslconfig = tls_config, require_ssl_verification = false),该配置存在安全风险,生产环境请勿使用
  • 该实现逻辑和Python Requests的cert参数功能完全一致,等价于你给出的Python示例代码

内容的提问来源于stack exchange,提问作者tomaaron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:30:04