1、修改了8017指令xml文档,兼容通过sn获取证书信息。添加通过sn获取证书信息的接口
This commit is contained in:
@@ -9,7 +9,6 @@ import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import racal.sunyard.main.SydApi4j;
|
||||
import racal.sunyard.main.SydApiBuilder;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Base64;
|
||||
@@ -32,10 +31,19 @@ public class TestAllMethods {
|
||||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
api = (SydApi4j) new SydApi4j().connect("192.168.0.66", 8889, null, 1000);
|
||||
// api = (SydApi4j) new SydApi4j().connect("192.168.0.100", 8889, null, 1000);
|
||||
// api = (SydApi4j) new SydApi4j().connect("192.168.0.99", 8889, null, 1000);
|
||||
// api = (SydApi4j) new SydApi4j().connect("172.16.17.162", 8889, null, 1000);
|
||||
// api = (SydApi4j) new SydApi4j().connect("192.168.1.7", 8889, null, 5000);
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
// Y8
|
||||
@Test
|
||||
public void testLink() {
|
||||
String s = api.GenerateRandom(16);
|
||||
System.out.println(s);
|
||||
}
|
||||
|
||||
@After
|
||||
public void after() {
|
||||
try {
|
||||
@@ -1407,20 +1415,23 @@ public class TestAllMethods {
|
||||
"ODAMBggqgRzPVQGDdQUAA0gAMEUCIG0PqR+bbdNOb5Q4kfHq8cQZJ1wa/P+bqFfv\n" +
|
||||
"6bbL9RZCAiEAiH1LKCjq9p7MS7qOK+su5I0kenCQ505ZuuAWDMph0xk=\n" +
|
||||
"-----END CERTIFICATE-----";
|
||||
System.out.println(api.importCert(getSafeBytes(cert), null));
|
||||
}
|
||||
|
||||
String cert2 = "-----BEGIN CERTIFICATE-----\n" +
|
||||
"MIIB4TCCAYSgAwIBAgIIPJMAAAAAACswDAYIKoEcz1UBg3UFADAmMQswCQYDVQQG\n" +
|
||||
"EwJDTjEXMBUGA1UEAwwOU3VueWFyZFNNMlJvb3QwHhcNMTcxMTE3MDIzMDUxWhcN\n" +
|
||||
"MjMwMTI1MDIzMDUxWjBZMQswCQYDVQQGEwJDTjELMAkGA1UECAwCWkoxCzAJBgNV\n" +
|
||||
"BAcMAkhaMQ4wDAYDVQQKDAVISkpZUzERMA8GA1UECwwIMDAwMDAwMDAxDTALBgNV\n" +
|
||||
"BAMMBDIyMjIwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAATxqegqlmc/lduzBaKR\n" +
|
||||
"EyeNuPf78RA3wfJuhAv8zymLwQ6doefs1Iul+kMOukhfwY9aEhVdqws34FZMm2vs\n" +
|
||||
"1+wXo2cwZTAOBgNVHQ8BAf8EBAMCAMAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHwYD\n" +
|
||||
"VR0jBBgwFoAU93/arv8hxtk6eq2g+6z+AqVO1cEwHQYDVR0OBBYEFHfjFl72707A\n" +
|
||||
"6s+YVuGvEuyvFWTMMAwGCCqBHM9VAYN1BQADSQAwRgIhALzg7+QW7RU4phv+4arE\n" +
|
||||
"v0IOeaA6dtR8VT4Bwin9oHTWAiEA9kLESGiYm8L5Htf7GBXgH+pk7BJ68clml41B\n" +
|
||||
"/ejZglI=\n" +
|
||||
"-----END CERTIFICATE-----";
|
||||
|
||||
public static byte[] getSafeBytes(String s) {
|
||||
if (null != s) {
|
||||
byte[] b1 = s.getBytes();
|
||||
byte[] b2 = new byte[b1.length + 1];
|
||||
b2[b1.length] = 0;
|
||||
System.arraycopy(b1, 0, b2, 0, b1.length);
|
||||
return b2;
|
||||
} else {
|
||||
return new byte[]{0};
|
||||
}
|
||||
String jgh = "00000000";
|
||||
System.out.println(api.importCert(Util.getSafeBytes(cert2), jgh.getBytes()));
|
||||
}
|
||||
|
||||
|
||||
@@ -1645,11 +1656,27 @@ public class TestAllMethods {
|
||||
@Test
|
||||
public void testGetX509CertFileC() {
|
||||
String userId = "8012";
|
||||
String userId2 = "8001";
|
||||
|
||||
String s = api.GetX509CertFileC(userId, 0);
|
||||
String s = api.GetX509CertFileC(userId2, 0);
|
||||
System.out.println(s);
|
||||
|
||||
X509 x509 = api.GetX509CertInfo(s);
|
||||
System.out.println("颁发者DN为: " + x509.getIssuer());
|
||||
System.out.println("证书主题: " + x509.getSubject());
|
||||
}
|
||||
|
||||
// 8017
|
||||
@Test
|
||||
public void testGetX509CertFileBySN() {
|
||||
String sn = "1004282452";
|
||||
String sn2 = "3C93000000000025";
|
||||
|
||||
String s = api.GetX509CertFileBySN(sn2, 0);
|
||||
System.out.println(s);
|
||||
X509 x509 = api.GetX509CertInfo(s);
|
||||
System.out.println("证书序列号: " + x509.getSerialNumber());
|
||||
System.out.println("证书主题DN: " + x509.getSubject());
|
||||
}
|
||||
|
||||
// 测试通过
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import racal.sunyard.main.SydApi4j;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Base64;
|
||||
|
||||
/**
|
||||
@@ -25,7 +26,7 @@ public class TestGSYH {
|
||||
public void before() {
|
||||
// 通过设置debug的属性开启debug,如果不设置则默认不打开
|
||||
System.setProperty("com.sunyard.sydapi4j.debug", "true");
|
||||
api = (SydApi4j) new SydApi4j().connect("192.168.0.100", 8889, null, 1000);
|
||||
api = (SydApi4j) new SydApi4j().connect("192.168.0.66", 8889, null, 1000);
|
||||
|
||||
}
|
||||
|
||||
@@ -92,16 +93,16 @@ public class TestGSYH {
|
||||
// 测试通过
|
||||
// 8017
|
||||
@Test
|
||||
public void testGetX509CertFileC() {
|
||||
String userId = "8001";
|
||||
public void testGetX509CertFileBySN() {
|
||||
String sn2 = "3C93000000000025";
|
||||
|
||||
/**
|
||||
* 通过使用者 ID 获取的 X509 证书文件。
|
||||
* @param userId 使用者的 ID,最大长度为 16 位数字(要与生成实体的机构号保持一致)。
|
||||
* 通过证书序号 sn 获取的 X509 证书文件。
|
||||
* @param sn sn,证书序号
|
||||
* @param nCertType 证书类型,0:签名证书, 1:加密证书
|
||||
* @return base64 编码的证书
|
||||
*/
|
||||
String s = api.GetX509CertFileC(userId, 1);
|
||||
String s = api.GetX509CertFileBySN(sn2, 0);
|
||||
System.out.println(s);
|
||||
|
||||
/**
|
||||
@@ -111,8 +112,36 @@ public class TestGSYH {
|
||||
* 证书信息类,包含:颁发者DN、 证书序列号、 证书主题、证书有效期的起始时间、证书有效期的终止时间、DER编码的公钥。
|
||||
*/
|
||||
X509 x509 = api.GetX509CertInfo(s);
|
||||
byte[] pubKey = x509.getPubKey();
|
||||
System.out.println("publicKey: " + Util.bytes2HexString(pubKey));
|
||||
System.out.println("证书主题DN: " + x509.getSubject());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testImportCert2() throws IOException {
|
||||
|
||||
String cert2 = "-----BEGIN CERTIFICATE-----\n" +
|
||||
"MIIB4TCCAYSgAwIBAgIIPJMAAAAAACswDAYIKoEcz1UBg3UFADAmMQswCQYDVQQG\n" +
|
||||
"EwJDTjEXMBUGA1UEAwwOU3VueWFyZFNNMlJvb3QwHhcNMTcxMTE3MDIzMDUxWhcN\n" +
|
||||
"MjMwMTI1MDIzMDUxWjBZMQswCQYDVQQGEwJDTjELMAkGA1UECAwCWkoxCzAJBgNV\n" +
|
||||
"BAcMAkhaMQ4wDAYDVQQKDAVISkpZUzERMA8GA1UECwwIMDAwMDAwMDAxDTALBgNV\n" +
|
||||
"BAMMBDIyMjIwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAATxqegqlmc/lduzBaKR\n" +
|
||||
"EyeNuPf78RA3wfJuhAv8zymLwQ6doefs1Iul+kMOukhfwY9aEhVdqws34FZMm2vs\n" +
|
||||
"1+wXo2cwZTAOBgNVHQ8BAf8EBAMCAMAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHwYD\n" +
|
||||
"VR0jBBgwFoAU93/arv8hxtk6eq2g+6z+AqVO1cEwHQYDVR0OBBYEFHfjFl72707A\n" +
|
||||
"6s+YVuGvEuyvFWTMMAwGCCqBHM9VAYN1BQADSQAwRgIhALzg7+QW7RU4phv+4arE\n" +
|
||||
"v0IOeaA6dtR8VT4Bwin9oHTWAiEA9kLESGiYm8L5Htf7GBXgH+pk7BJ68clml41B\n" +
|
||||
"/ejZglI=\n" +
|
||||
"-----END CERTIFICATE-----";
|
||||
|
||||
String organizationId = "00000000";
|
||||
|
||||
/**
|
||||
* 上传指定证书到加密设备
|
||||
* @param certData 证书的字节数组
|
||||
* @param organizationId 机构号的字节数组
|
||||
* @return
|
||||
*/
|
||||
RetWrap retWrap = api.importCert(Util.getSafeBytes(cert2), organizationId.getBytes());
|
||||
System.out.println(retWrap);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user