新一代商户接入手册V2.7(3)

2019-06-11 18:39

http://www.ChinaPay.com Chinapay新一代商户接入手册

} ?

验证签名示例代码

Map myMap = new HashMap(); String signature = \??\//签名串字符串

myMap.put(\//参与签名的字段和值

myMap.put(\myMap.put(\??

secssUtil.verify(myMap);

if(!\

}

System.out.println(\验签通过。\} ?

验签文件示例代码

public static void main(String[] args) { try {

SecssFileService secssFileService = new SecssFileService(); secssFileService.init();

File f = new File(\ secssFileService.verifyFile(f.getPath());

System.out.println(\验签结果:\

if(!\

System.out.println(\验签过程发生错误,错误信息为-->\ return;

System.out.println(\验签过程发生错误,错误信息为-->\return;

public static void main(String[] args) {

secssFileService.getErrMsg());

}

} catch (Exception e) { e.printStackTrace(); } } ?

敏感信息加密示例代码

//敏感信息加密,需要先将加密的敏感信息转成json格式,base64加密处理 Map cardInfoMap = new HashMap(); cardInfoMap.put(\cardInfoMap.put(\cardInfoMap.put(\if(!cardInfoMap.isEmpty()){

第 11 页 共 35 页

public static void main(String[] args) {

http://www.ChinaPay.com Chinapay新一代商户接入手册

SecssUtil secssUtil = new SecssUtil(); secssUtil.init();

secssUtil.encryptData(Base64.encodeBase64String(new

ObjectMapper().writeValueAsString(cardInfoMap).getBytes()));

if(!\ }

System.out.println(\敏感信息加密成功,敏感信息机密结果[\} ?

密码加密示例代码

Map cardInfoMap = new HashMap(); String card = \String pin = \

SecssUtil secssUtil = new SecssUtil(); secssUtil.init();

secssUtil.encryptPin(pin, card);

if(!\ } 3.4.2

NetPayClient for PHP使用说明 }

System.out.println(\密码加密结果[\

System.out.println(\密码加密出错,错误信息为\return;

public static void main(String[] args) {

System.out.println(\敏感信息加密发生错误,错误信息为return;

\

3.4.2.1 核心文件清单

名 称 SecssUtil.class.php Mer.pfx 放置的路径 根据项目工程的需要放置对应路径下 支持PHP5.4.8及以上版本 可以放置到任意路径下,但是需要调用方法指定文件位置和名称 用 途 用于提供商户签名、验签、加密、解密、文件验签等方法调用 商户签名证书(控台申请) cp.cer 可以放置到任意路径下,但是需要调用方法指定文件位置和名称 ChinaPay签名证书 security.properties 安全配置文件,根据项目工程的需要放置对应路径下 指定签名验签证书文件存放路径等 第 12 页 共 35 页

http://www.ChinaPay.com Chinapay新一代商户接入手册

3.4.2.2 方法说明

类名 SecssUtil 方法名 init sign getSign verify verifyFile encryptData encryptPin getEncPin getEncValue getErrCode getErrMsg 用途 用于创建证书对象,初始化安全加密控件并初始化公私钥信息 用于对商户报文进行签名 获取商户签名后生成的字符串 验证ChinaPay返回的应答数据 验证ChinaPay返回的结算和对账文件签名 对交易过程中的敏感数据进行加密 对密码进行加密 获取加密后的密码字符串 获取加密后的密文字符串 获取商户签名、验签、加密及解密的处理结果 获取对响应码的中文描述 ?

初始化安全控件方法:init 方法说明:

public function init($securityPropFile) 作用:

用于创建证书对象,初始化安全加密控件并初始化公私钥信息。

使用此方法需要将security.properties放在PHP项目路径下,并配置如下: #交易证书路径

sign.file=D:/cert_cp/000000000000001.pfx #交易证书密码

sign.file.password=XXXXXX #交易证书的密钥容器格式 sign.cert.type=PKCS12

#报文中不参与签名的字段名称,多个字段用逗号进行分隔 sign.invalid.fields=Signature,CertId #验签证书路径

verify.file=D:/cert_cp/cp_test.cer #签名值字段名称

signature.field=Signature 参数说明:

securityPropFile:security.properties文件全路径

security.properties文件中,商户只需要修改sign.file、sign.file.password、verify.file三项。 返回值:

true :表示正确初始化证书文件,并且可以调用签名方法签名或者签名验证方法验证签名; false:表示初始化证书文件失败,不可以使用签名方法和签名验证方法。 注:该方法在类SecssUtil中。 ?

订单签名方法:sign

第 13 页 共 35 页

http://www.ChinaPay.com Chinapay新一代商户接入手册

方法说明:

public function sign($paramArray) 作用:

用于对商户报文进行签名。 参数说明:

$paramArray 为数组形式的商户交易数据。数组格式如: array(\MerOrderNo \

返回值: 无 ?

获取签名结果字符串方法:getSign 方法说明:

public function getSign() 作用:

获取商户签名后生成的字符串。 参数说明: 无 返回值:

商户签名结果字符串。

注:该方法在类SecssUtil中。 ?

验证交易应答方法:verify 方法说明:

public function verify($paramArray) 作用:

验证chinapay返回的应答数据。 参数说明:

$paramArray 返回商户报文中的所有参数。 返回值: 无

注:该方法在类SecssUtil中。 ?

验证文件方法:verifyFile 方法说明:

public function verifyFile($file) 作用:

验证结算和对账文件签名。 参数说明: $file文件路径 返回值: 无

注:该方法在类SecssUtil中。 ?

敏感数据加密方法:encryptData 方法说明:

public function encryptData($data) 作用:

第 14 页 共 35 页

http://www.ChinaPay.com Chinapay新一代商户接入手册

对交易过程中的敏感数据进行加密。 参数说明:

$data 待加密的明文字符串 返回值: 无

注:该方法在类SecssUtil中。 ?

密码加密方法:encryptPin 方法说明:

public function encryptPin($pin, $card) 作用:

对密码进行加密。 参数说明: $pin 银行卡密码 $card 卡号 返回值: 无

注:该方法在类SecssUtil中。 ?

获取加密后的密码:getEncPin 方法说明:

public function getEncPin() 作用:

获取加密后的密码字符串。 参数说明: 无 返回值:

加密后的密码字符串。

注:该方法在类SecssUtil中。 ?

获取加密后的密文字符串:getEncValue 方法说明:

public function getEncValue() 作用:

获取加密后的密文字符串。 参数说明: 无 返回值:

加密后的密文字符串。

注:该方法在类SecssUtil中。 ?

获取商户签名、验签、加密及解密的处理结果的方法:getErrCode 方法说明:

public function getErrCode() 作用:

获取商户签名、验签、加密及解密的处理结果。 参数说明:

第 15 页 共 35 页


新一代商户接入手册V2.7(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第2章 转子的动平衡原理4

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: