记录一次php对接java接口rsa签名

简介: 记录一次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;

运行结果:

4.jpg


发现里面是一对公私钥。


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


相关文章
|
1月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
144 57
|
1月前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
87 38
|
6天前
|
数据采集 JSON Java
利用Java获取京东SKU接口指南
本文介绍如何使用Java通过京东API获取商品SKU信息。首先,需注册京东开放平台账号并创建应用以获取AppKey和AppSecret。接着,查阅API文档了解调用方法。明确商品ID后,构建请求参数并通过HTTP客户端发送请求。最后,解析返回的JSON数据提取SKU信息。注意遵守API调用频率限制及数据保护法规。此方法适用于电商平台及其他数据获取场景。
|
12天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
43 6
|
29天前
|
Java API
Java中内置的函数式接口
Java中内置的函数式接口
25 2
|
1月前
|
Java API Maven
商汤人像如何对接?Java代码如何写?
商汤人像如何对接?Java代码如何写?
41 5
|
1月前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
96 1
|
JSON 前端开发 JavaScript
PHP API接口测试小工具
前端时间给手机客户端做接口,当时弱爆了,写完API接口后,也不怎么测试,最后是等客户端调用的时候检验API的正确性。
PHP API接口测试小工具
|
1月前
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
43 0
|
25天前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####