登录
首页 >  文章 >  php教程

PHP与Java验签对接:如何使用openssl_pkcs7_verify实现PKCS7签名验签?

时间:2024-12-04 16:33:58 278浏览 收藏

最近发现不少小伙伴都对文章很感兴趣,所以今天继续给大家介绍文章相关的知识,本文《PHP与Java验签对接:如何使用openssl_pkcs7_verify实现PKCS7签名验签?》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

PHP与Java验签对接:如何使用openssl_pkcs7_verify实现PKCS7签名验签?

pkcs7signature php实现方法

对接第三方java验签代码时,php可以使用openssl_pkcs7_verify方法实现pkcs7签名功能。

php 加签代码

<?php
/**
 * 加签
 * @param string $str 字符串(sortsign($argarr))
 * @param string $pre 生成文件干扰字符串uid
 * @return string
 */
function pkcs7sign($str, $pre = 'tmp')
{
    [...] // 代码略
}

/**
 * 加签数据值升序
 * @param array $argarr 请求数据
 * @return string
 */
function sortsign($argarr)
{
    [...] // 代码略
}

php 验签代码

<?php
openssl_pkcs7_verify($message, PKCS7_DETACHED, $certfile, [$CAPaths], 832);
?>

其中,pkcs7_detached表示签名不附带原文,832是中国银行中信的验签方案。

注意事项

  • 对于中信银行,加签前需要对待签名的参数值按照升序排列,即asort($argarr, sort_string)。
  • openssl_pkcs7系列函数对文件路径有要求,需要绝对路径或相对路径。

今天关于《PHP与Java验签对接:如何使用openssl_pkcs7_verify实现PKCS7签名验签?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>