php 如何获取 公钥钥格式为cer,私钥格式为pfx的证书

1.对接一个接口,对方的接口是java写的,我是php,对方给了两个文件,一个公钥.cer,一个私钥.pfx,
我用openssl_pkcs12_read() 读取pfx进行签名.

openssl_pkcs12_read(file_get_contents('./private.pfx'), $certs, "sft12#");
if(!$certs) exit(0);
openssl_sign($data, $signature, $certs['pkey']);
$signature = base64_encode($signature);

该怎么读取.cer进行验签呢

$cer_key = file_get_contents('./public.cer'); 
 $cer = openssl_x509_read($cer_key);

openssl_x509_read这个函数会报错误
openssl_x509_read(): supplied parameter cannot be coerced into an X509 certificate!

用openssl_x509_read 应该是不对的,那应该怎么做呢.还是说用openssl命令转换成pem呢! 希望得到指导
x509 -inform der -in test.cer -out test.pem

阅读 7.4k
1 个回答
新手上路,请多包涵

pfx后缀证书(私钥+公钥)、cer证书(仅有公钥)
openssl_pkcs12_read(file_get_contents('./private.pfx'), $certs, "sft12#");

print_r([
$certs['cert'],
$certs['pkey']
]);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题