繁体   English   中英

PHP curl-发送证书的正确方法?

[英]PHP curl - correct way to send certificate?

我正在使用一个要求对其进行认证的Web服务,它通过curl发送了一个客户端证书。 我已经从.pfx文件中提取了证书(.pem),公钥和私钥(.pem)。

我发送然后这样:

    curl_setopt($ch, CURLOPT_SSLCERT, '_cert.pem');
    curl_setopt($ch, CURLOPT_SSLKEY, '_priKEY.pem');
    curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');
    curl_setopt($ch, CURLOPT_KEYPASSWD, '****');

但是WS总是返回我需要发送客户端证书的消息。 什么是正确的发送方式?

其他问题:我不需要发送公钥文件吗? 和“ keypasswd”真的必要吗?

我使用的是“ HTTP ”,并且要根据请求发送证书,我需要使用“ HTTPS ”。

格式为.pem时 ,无需使用“ CURLOPT_SSLCERTTYPE ”选项,因为.pem已经是默认格式。 通常,不需要发送“ 公钥 ”,只需发送私钥(当证书具有一个时)。

当私钥有一些密码短语时 ,需要使用“ CURLOPT_KEYPASSWD ”,否则,请勿使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM