请求头参数#
字段 | 类型 | 名称 | 必填 | 注释 |
---|
nsrsbh | String | 纳税人识别号 | 是 | 接口调用方税号 |
fplx | String | | 是 | 固定值“jxfp” |
access_token | String | access_token | 是 | 通过“获取access_token”接口获取,除“获取access_token”接口外,其余接口访问均需携带此参数 |
请求体参数#
字段 | 类型 | 名称 | 必填 | 注释 |
---|
sign | String | 签名串 | 是 | 用户请求参数的签名串 |
signType | String | 加密类型 | 是 | 目前支持RSA |
timestamp | String | 请求时间 | 是 | yyyy-MM-dd HH:mm:ss |
content | String | 业务报文 | 是 | 请求参数的集合,除公共参数外所有请求参数都必须放在这个参数中传递 |
servername | String | 调用端标识 | 是 | 传业务系统简称 |
后续接口文档中的报文格式会省略外层结构,仅展示content节点加密前的明文内容
请求中content节点密文生成规则:先对明文json对象转成字符串,再使用3DES密钥对其进行3DES加密。
encryptContent=encrypt3DES(pwd,明文)
请求中sign签名值生成规则:将属性按ASCII码排序后,将key=value形式用&拼接后,使用企业私钥用RSA算法进行签名
toSignStr=content=encryptContent&servername=业务系统简称&signType=RSA×tamp=2025-01-01 12:00:00
sign=RSA.sign(toSignStr,company_private_key)
注意:每个nsrsbh都拥有唯一的RSA密钥及3DES密钥信息
响应体参数#
字段 | 类型 | 名称 | 必填 | 注释 |
---|
code | String | 响应状态码 | 是 | 成功为0000,其余为失败 |
message | String | 提示信息 | 是 | |
content | Object | 响应内容 | 是 | |
sign | String | 签名串 | 是 | 服务端响应参数的签名串 |
signType | String | 加密类型 | 是 | 目前支持RSA |
响应中content解密规则:使用3DES密钥对其进行3DES解密,可得到明文content的json字符串
content=decrypt3DES(pwd,密文)
响应中sign签名值验证规则:将属性按ASCII码排序后,将key=value形式用&拼接后,使用公钥用RSA算法进行验签。
toVerifyStr=code=0000&content=密文&message=success&signType=RSA
verifyResult=RSA.verify(toVerityStr,sign,public_key)
若verifyResult=true则证明响应内容未受到篡改