銀直通驗(yàn)簽碼生成demo

好拓客 5個(gè)月前 ( 11-25 ) 417

本demo只支持Java springboot pom項(xiàng)目,

在項(xiàng)目里引入jar包

項(xiàng)目目錄下創(chuàng)建lib文件夾,把驗(yàn)簽碼需要引用ltbs-ent-sign-1.0.0.jar放入

驗(yàn)簽碼引用jar下載

驗(yàn)簽碼私鑰xml下載

驗(yàn)簽碼公鑰xml下載


項(xiàng)目resources下增加公私鑰配置文件

創(chuàng)建子目錄keyfile,并放文件privateKey-demo.xml和publicKey-demo.xml在該目錄下


項(xiàng)目pom文件里配置

依賴(lài)增加配置如下:

<dependency>
    <groupId>com.lakala.ltbs.ent</groupId>
    <artifactId>ltbs-ent-sign</artifactId>
    <version>1.0.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/ltbs-ent-sign-1.0.0.jar</systemPath></dependency><dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId></dependency>復(fù)制

構(gòu)建增加配置如下:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <includeSystemScope>true</includeSystemScope>
    </configuration></plugin>復(fù)制


項(xiàng)目里創(chuàng)建測(cè)試類(lèi)LtbsEntSign.java

package com.lakala.framework.payment.adaptor.util;import cn.hutool.core.io.FileUtil;
import com.lakala.ltbs.ent.entsign.LtbsEntSignVerifyHandler;
import com.lakala.ltbs.ent.entsign.dto. * ;
import com.lakala.ltbs.ent.entsign.util.XmlUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import java.io.File;
import java.util.ArrayList;
import java.util.List;public class LtbsEntSign {    private static final Logger logger = LoggerFactory.getLogger(LtbsEntSign.class);    private static SignPrivateKey getSignPrivateKey(File privateKeyFile) throws DocumentException {
        SignPrivateKey privateKey = new SignPrivateKey();
        String privateKeyFileContext = FileUtil.readUtf8String(privateKeyFile);
        Document privateKeyDocument = XmlUtils.parseXmlString(privateKeyFileContext);        privateKey.setModules(XmlUtils.getCanNotExistsNodeText(privateKeyDocument, "/RSAKeyValue/Modulus"));
        privateKey.setExponent(XmlUtils.getCanNotExistsNodeText(privateKeyDocument, "/RSAKeyV


The End