diff --git a/src/main/java/com/sunyard/inf/SydCertApi.java b/src/main/java/com/sunyard/inf/SydCertApi.java index 3d523e9..36f8ba3 100644 --- a/src/main/java/com/sunyard/inf/SydCertApi.java +++ b/src/main/java/com/sunyard/inf/SydCertApi.java @@ -6,6 +6,7 @@ import com.sunyard.cert.X509; import com.sunyard.constant.CertUsage; import java.io.UnsupportedEncodingException; +import java.util.List; /** * 证书操作相关接口 @@ -102,6 +103,14 @@ public interface SydCertApi { String sign ); + + /** + * 查询所有证书 + * @return + * certDNs: 证书DN + */ + List getAllCert() throws UnsupportedEncodingException; + /** * 查询所有证书 * @param dataFlag 数据包标志 0:起始包 1:中间包 2:结束包 diff --git a/src/main/java/racal/sunyard/main/SydApi4j.java b/src/main/java/racal/sunyard/main/SydApi4j.java index ab4902f..0fcc4df 100644 --- a/src/main/java/racal/sunyard/main/SydApi4j.java +++ b/src/main/java/racal/sunyard/main/SydApi4j.java @@ -1321,6 +1321,25 @@ public class SydApi4j implements SydApi { return r; } + + + @Override + public List getAllCert() throws UnsupportedEncodingException { + + ArrayList m_certs =new ArrayList(); + //查出证书总数,一次次的拿出来 + RetWrap allCert =getAllCert(0); + Integer allnum =(Integer) allCert.get("certAllNum");//总数 + List certs = (List)allCert.get("certDNs");//部分证书列表 + m_certs.addAll(certs); + int loop = allnum%16;//循环次数 + for (int i = 1; i < loop; i++) { + RetWrap partCert= getAllCert(16*i); + List partcerts = (List)partCert.get("certDNs"); + m_certs.addAll(partcerts); + } + return m_certs; + } // 测试通过 @Override diff --git a/src/test/java/sample/Shanghairenhang.java b/src/test/java/sample/Shanghairenhang.java index 43feadf..f1f9d7c 100644 --- a/src/test/java/sample/Shanghairenhang.java +++ b/src/test/java/sample/Shanghairenhang.java @@ -92,10 +92,17 @@ public class Shanghairenhang { System.out.println(Util.bytes2HexString(bytes)); } @Test - public void aboutCert(){ + public void aboutCert() throws UnsupportedEncodingException { //System.setProperty("com.sunyard.sydapi4j.debug", "true"); - SydApiBuilder builder = new SydApiBuilder().setIp("192.168.0.200"); + SydApiBuilder builder = new SydApiBuilder().setIp("192.168.1.129"); SydApi4j api = (SydApi4j) builder.build(); + RetWrap allCert = api.getAllCert(0); + printRetWrap(allCert); + + List certs= api.getAllCert(); + System.out.println("所有证书"+certs); + System.out.println(certs.size()); + }