yhyh 的个人博客 / 156 / 10 / 创建于 4个月前
公司最近要对接邮储的支付,对方要将请求体用SM2加密,他们只有JAVA的demo,我不懂JAVA。我在网上找的国密包lpilp/guomi加密使用的密钥是一串16进制的字符,邮储给的密钥是加密过后的,不知道要怎样使用。下面是JAVA生成的密钥方式公钥私钥
本作品采用《CC 协议》,转载必须注明作者和本文链接
java给的是用base64编码的pkcs8证书和x509公钥证书。 php要用的话,你提到的php使用的sm2库,需要把java提供的证书提取出来明文,然后给php的库用
楼主你最好发个问答,文章估计很多人看不到的
你可以用java写个解密,放tomcat里,然后用php调用那个java就行了。
以前对接过EMS的也是只有个Java的demo,用的SM4,网上找不到示例,硬啃了一天Java。又因为那个服务器openssl版本的问题不支持SM4,找了PHP个扩展包,最后实际上PHP写起来也就几行代码,但是其他语言的demo都不给一个是真无语。
大佬发一篇sm2处理过程的文章,学习一下啊。
上个月对接过 EMS下单功能,确实只有个 Java 的 demo,PHP本地openssl支持sm4,可以直接实现sm4加解密,但测试环境及线上openssl不支持,除非升级openssl,再编译php,大动干戈,最后写了个python,基于gmssl实现sm4加解密,php这边根据openssl的算法列表判断是否支持sm4,不支持就去执行python
我要举报该,理由是:
java给的是用base64编码的pkcs8证书和x509公钥证书。 php要用的话,你提到的php使用的sm2库,需要把java提供的证书提取出来明文,然后给php的库用
你可以用java写个解密,放tomcat里,然后用php调用那个java就行了。
以前对接过EMS的也是只有个Java的demo,用的SM4,网上找不到示例,硬啃了一天Java。又因为那个服务器openssl版本的问题不支持SM4,找了PHP个扩展包,最后实际上PHP写起来也就几行代码,但是其他语言的demo都不给一个是真无语。
大佬发一篇sm2处理过程的文章,学习一下啊。
上个月对接过 EMS下单功能,确实只有个 Java 的 demo,PHP本地openssl支持sm4,可以直接实现sm4加解密,但测试环境及线上openssl不支持,除非升级openssl,再编译php,大动干戈,最后写了个python,基于gmssl实现sm4加解密,php这边根据openssl的算法列表判断是否支持sm4,不支持就去执行python