使用 openssl 将 pfx 证书转换为 pem技术
前一阵子,在 curl 中使用 https 请求外部接口,在使用测试证书联调的时候请求第三方接口没有任何问题。正式联调后,使用第三方给的证书却请求不成功,而我们使用的垃圾代码架构也不报错。于是一急之下,使用 LMLPHP 写了个小栗子(例子)测试了下。结果 curl 报错如下:
Error 58: could not load PEM client certificate, OpenSSL error error:0906D06C:PEM routines:PEM_read_bio:no start line, (no key found, wrong pass phrase, or wrong file format?)
在知道报错之前,我还问过第三方的人,是不是你们的证书有问题,导致请求不成功。结果第三方公司提供给外部联调的人都是不太懂技术的人,他们怎么可能找得到问题?。这个现象普遍存在,不论是第三方支付还是银行都喜欢让不懂技术的销售人员来与外部进行对接。
使用 openssl 一个命令就搞定啦,openssl 是 Linux 系统非常底层的命令,暂时还没有发现哪个发行版不支持这个命令的。而网上的一堆教程和一些对接文件,都是在 Windows 下搞啊搞,感觉特别麻烦和高大上。不多说了,如下栗子:
openssl pkcs12 -in 81231006011023790.pfx -nodes -out 81231006011023790.pem
当然,证书转换和证书提取密钥方面的知识还是很多滴,网上的栗子也是非常的多啊,我这里就不再叙述啦。
暂无