首页 LNMP PHP 正文

PHP 将p12文件转成普通证书发送https请求

金鹏头像 金鹏 PHP 2022-03-07 18:03:05 0 706
导读:今天遇到了一个接口联调,对方给了我一个javademo,需要证书发送请求,但是他给的文件是apiclient_cert.p12这种格式的,然后给了我一个密码但是我这边是php,...

今天遇到了一个接口联调,对方给了我一个java demo,需要证书发送请求,但是他给的文件是 apiclient_cert.p12这种格式的,然后给了我一个密码
但是我这边是php,一般使用的是一个key和秘钥一共两个证书

    apiclient_key.pem
    apiclient_cert.pem
    于是 我这里需要根据他的p12文件和密码导出为通用的证书文件

# 首先,复制p12文件到linux,然后在linux下执行命令
openssl pkcs12 -in 证书名.p12 -out 文件名.pem -nodes  # 注意替换文件名
Enter Import Password:
#  接下来输入密码 确定后查看是否生成了pem文件
ll
-rw------- 1 root root 3.3K Feb  7 15:06 test.pem

# 打开文件,复制文件内容
cat test.pem

将文件内容复制到不同的文件

    首先将
    -----BEGIN PRIVATE KEY-----
    abcdefg…
    -----END PRIVATE KEY-----
    的内容 复制到文件 apiclient_key.pem

    将
    -----BEGIN CERTIFICATE-----
    abcdefg…
    -----END CERTIFICATE-----
    的内容 复制到文件 apiclient_cert.pem

然后就可以用php携带这俩证书进行https访问了

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true); 
curl_setopt($ch, CURLOPT_SSLCERT,dirname(__FILE__).'/cert_dir/apiclient_cert.pem'); 
curl_setopt($ch, CURLOPT_SSLKEY, dirname(__FILE__).'/cert_dir/apiclient_key.pem');



本文地址:https://www.jinpeng.work/?id=116
若非特殊说明,文章均属本站原创,转载请注明原链接。
广告3

欢迎 发表评论:

  • 请填写验证码

日历

«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930

控制面板

您好,欢迎到访网站!
  查看权限
广告2

退出请按Esc键