银直通验签码生成demo
本demo只支持Java springboot pom项目,
在项目里引入jar包
项目目录下创建lib文件夹,把验签码需要引用ltbs-ent-sign-1.0.0.jar放入
项目resources下增加公私钥配置文件
创建子目录keyfile,并放文件privateKey-demo.xml和publicKey-demo.xml在该目录下
项目pom文件里配置
依赖增加配置如下:
<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>复制构建增加配置如下:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> </configuration></plugin>复制
项目里创建测试类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, "/RSAKeyVThe End
