临时修改动态库名字

This commit is contained in:
Cheney 2024-11-05 15:33:23 +08:00
parent 87ca9bc0ad
commit 268af2a494
4 changed files with 171 additions and 0 deletions

102
pom.xml
View File

@ -56,5 +56,107 @@
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<finalName>${project.artifactId}-${project.version}</finalName>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.sunyard.security.Main</mainClass>
<!-- <mainClass>com.sunyard.test.PCIApiTest</mainClass>-->
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
<projectName>Apache CXF</projectName>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/cxf/cxf.extension</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
<resource>META-INF/extensions.xml</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
<resource>META-INF/cxf/extensions.xml</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/cxf/bus-extensions.txt</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
<resource>META-INF/cxf/bus-extensions.xml</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
<resource>META-INF/wsdl.plugin.xml</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
<resource>META-INF/cxf/java2wsbeans.xml</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer"/>
</transformers>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.github.edwgiz</groupId>
<artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
<version>2.6.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,69 @@
package com.sunyard.security;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.PointerByReference;
import com.sunyard.security.sdf.SDFJna;
import com.sunyard.security.util.ByteUtil;
public class Main {
private static PointerByReference phDeviceHandle = new PointerByReference();
private static PointerByReference phSessionHandle = new PointerByReference();;
private static final byte[] data = new byte[16];
private static final byte[] symKey = new byte[]{9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9};
private static final String ip = "172.16.17.245";
public static void random(){
int oneSize = 16;
byte[] oneRadom = new byte[16]; // 注意这里初始化大小应为 oneSize
int ret = SDFJna.INSTANCE.SDF_GenerateRandom( phSessionHandle.getValue(), oneSize, oneRadom );
if (ret != 0) {
throw new RuntimeException(String.format("0x%02X", ret));
} else {
System.out.println("调用成功");
}
System.out.println( ByteUtil.bytes2HexString( oneRadom ) );
}
public static void main(String[] args) {
// 打开设备
int ret = SDFJna.INSTANCE.SDF_OpenDevice(
phDeviceHandle,
ByteUtil.safeStringBytes(ip),
8889,
3000,
3000,
0);
if (ret != 0) {
System.err.println("打开设备失败 错误码:" + String.format("0x%02X", ret));
throw new RuntimeException(String.format("0x%02X", ret));
}
Pointer hDeviceHandle = phDeviceHandle.getValue();
// 打开会话
ret = SDFJna.INSTANCE.SDF_OpenSession(hDeviceHandle, phSessionHandle);
if (ret != 0) {
System.err.println("打开设备失败 错误码:" + String.format("0x%02X", ret));
throw new RuntimeException(String.format("0x%02X", ret));
}
try {
random();
} finally {
if ( null != phSessionHandle.getValue() ) {
SDFJna.INSTANCE.SDF_CloseSession( phSessionHandle.getValue() );
}
if ( null != phDeviceHandle.getValue() ) {
SDFJna.INSTANCE.SDF_CloseDevice(phDeviceHandle.getValue());
}
}
}
}