记录一次php对接java接口rsa签名
1.对方提供的东西:test-pfx.pfx 密码:000000 xdzf_cfca_prd.cer
xdzf_cfca_prd.cer这是一个公钥文件,可以通过notepad++打开,看见公钥内容,但是pfx文件无法直接打开,而且pfx文件还有一个密码,于是想把pfx文件里面的内容获取到。
2.使用php获取pfx里面的内容,打印出来,实验证明php是可以直接使用pfx文件的,没必要把pfx拆出pem在使用。
//路径 $filePath = './test-pfx.pfx'; $pkcs12 = file_get_contents( $filePath ); //000000为pfx的密码 if ( openssl_pkcs12_read( $pkcs12, $certs, '000000' ) ) { print_r($certs); } die;
运行结果:
发现里面是一对公私钥。
3.于是才弄明白了整体对接的流程。
php获取pfx里面私钥,然后把数据通过私钥签名发送给java,java通过和我这边一对的公钥验证(也就是pfx里面的公钥)签名,然后给php返回数据,java那边也有一对公钥和私钥,提供给php的只是xdzf_cfca_prd.cer公钥部分。也就是java通过他的私钥签名,然后返回给php,php利用xdzf_cfca_prd.cer公钥验证签名。也就是整个流程有两对公钥私钥。php用到了第一对pfx里面的私钥和第二对里面的公钥。
4.具体php代码实现
https://www.wlphp.com/?post=263
版权声明:若无特殊注明,本文皆为《菜鸟站长》原创,转载请保留文章出处。
本文链接:记录一次php对接java接口rsa签名 - https://wziyi.net/?post=266