如何让curl调用Windows证书存储中的指定客户端证书?
使用Windows自带curl调用系统证书存储中的客户端证书访问HTTPS站点
Windows自带的curl(基于Schannel SSL后端)支持直接调用Windows证书存储中的客户端证书,无需手动导出证书文件,具体操作步骤如下:
第一步:获取目标证书的标识
打开命令提示符,执行以下命令列出当前用户个人证书存储区的所有证书:certutil -user -store My在输出中找到你需要使用的客户端证书,复制其指纹(注意去掉指纹中的空格),或者记录证书的主题名(如
CN=你的证书名称)。第二步:使用curl指定证书访问站点
用--cert参数指定证书在Windows存储中的路径,格式为cert://<存储位置>/<存储区>/<证书标识>:- 若使用指纹:
curl https://server.cryptomix.com/secure/ --cert "cert://CurrentUser/My/1234567890ABCDEF1234567890ABCDEF12345678" - 若使用主题名:
curl https://server.cryptomix.com/secure/ --cert "cert://CurrentUser/My/CN=你的客户端证书名称"
- 若使用指纹:
注意事项
CurrentUser代表当前用户的证书存储,若证书在本地计算机存储区,可替换为LocalMachine;My是个人证书存储区,对应证书管理器中的“个人”文件夹。- curl会自动从证书存储中加载对应证书的私钥,无需额外指定
--key参数,前提是证书的私钥未被加密且当前用户有权限访问。 - 若执行命令时提示权限问题,可尝试以管理员身份运行命令提示符。
内容的提问来源于stack exchange,提问作者manuell
相关产品推荐
相关产品推荐

