Java ================= 如果使用maven,可以加入如下依赖:: com.baoquan eagle-sdk 3.0.29 如果使用gradle,可以加入如下依赖:: compile group: 'com.baoquan', name: 'eagle-sdk', version: '3.0.29' 初始化客户端 ------------------ :: BaoquanClient client = new BaoquanClient(); // 设置api地址,比如保全网的测试环境地址 client.setHost("https://api.baoquan.com"); // 设置access key client.setAccessKey("fsBswNzfECKZH9aWyh47fc"); // 设置rsa私钥文件的绝对路径 client.setPemPath("path/to/rsa_private.pem"); // 设置版本 client.setVersion("v3); rsa私钥文件应该以 **-----BEGIN PRIVATE KEY-----** 开头和 **-----END PRIVATE KEY-----** 结尾,比如:: -----BEGIN PRIVATE KEY----- MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBALS8adG98pHSLEq6 kOT6PG25GMBzpiSs1oXwnPLTOVOYarffF0xSB7nk5yxbqx5BseJNz2NxyTpeJOk8 FXEI7qTbS6oYAgyH/2HMr5Az3pKGLRdIjJQrpu3qpJkzRw82qGP2MkmVkUYeOl9B ZEUpk1GmziwrhbD0zcJITA0mnUqnAgMBAAECgYBnetUPjLTcvrwzURxyrb95hxff 4JdIuljdOUVzVnKlJUg83JOHVBQuYBvn7thLq4uAqdJK+rQfIhX6IDeaj2WqsO7Y d4YoVxFAlfaHIICJKur15KOXuPMpdm3ilZ0c2yCTrJ0m3Xm6mpwd4blDDSupmlj4 HEXXiInGZgwfTqONAQJBAOlX3EyvE2NvzYMh39wz11fmOi0UiyIvz0immjed4dhV 0YvPjx8Gj7XGwCkzbuNwr7tlkMTaSiYR8cw1QzV4QoECQQDGSOlgAJC8oUP2+u4H +A83jfSLlhQ8XKAJn5Din9kBvs4eKMSjTpJiDBgA7NUAhUfCqS2/m5TiTiS3X3Ij ZKknAkEA2iaQCQks4SvnQI9s0FuPGdhdz0ODiCSWb9+CEjkCqdQhococje7+b/0u Ldat9uilAlfD7qX96HWiTz4EZXrXAQJBAJ+CbgMl0Ul9bcBUsoHEovEtCEn2TIcW eEPlkldNAfSuev+2CiHZhlbLpc+wtdU6YrUNBdl7HjVDabP+W0JvqscCQQDBoUR8 Y3NUOdGRcaSgwT56tP5J1cZxg1b4vCyr+YfvcEGSBrEaxEugDUjxbON4etMVflh/ H3QNSvRf4XQ44wQO -----END PRIVATE KEY----- 其它初始化设置 ^^^^^^^^^^^^^^^ 还有些其它可选的初始化设置,比如设置api版本,设置request id生成器,默认情况下你无需进行这些设置:: // 设置request id生成器,生成器需要实现RequestIdGenerator接口中的createRequestId方法 client.setRequestIdGenerator(CustomRequestGenerator) // sdk中默认的request id生成器 public class DefaultRequestIdGenerator implements RequestIdGenerator { @Override public String createRequestId() { return UUID.randomUUID().toString(); } } 客户端初始化完成后即可调用客户端中的方法发送请求 创建内容保全 ------------------ :: BaseAttestationPayloadParam payload = new HashAttestationParam(); payload.setTemplate_id("ceshiuserdata"); payload.setUnique_id(randomUniqueId()); Map identities = new HashMap(); identities.put(IdentityTypeEnum.ID, "15817112383"); payload.setIdentities(identities); List factoids = new ArrayList(); PayloadFactoidParam factoid = new PayloadFactoidParam(); factoid.setUnique_id(randomUniqueId()); factoid.setType("file"); LinkedHashMap map = new LinkedHashMap(); factoid.setData(map); map.put("file_name", "584691132_121_1943880412"); map.put("size", "330124199501017791"); factoids.add(factoid); payload.setFactoids(factoids); try { ResultModel response = client.createAttestation(payload); System.out.println(Utils.objectToJson(response.getData())); } catch (Exception e) { e.printStackTrace(); } 创建文件保全 ------------------ :: BaseAttestationPayloadParam payload = new BaseAttestationPayloadParam(); payload.setTemplate_id("795eac6a8d88401f8926efdef1a95e33"); payload.setUnique_id(randomUniqueId()); Map identities = new HashMap(); identities.put(IdentityTypeEnum.ID, "15857112383"); payload.setIdentities(identities); List factoids = new ArrayList(); PayloadFactoidParam factoid = new PayloadFactoidParam(); factoid.setUnique_id(randomUniqueId()); factoid.setType("file"); LinkedHashMap map = new LinkedHashMap(); factoid.setData(map); map.put("file_name", "李三"); map.put("size", "330124199501017791"); factoids.add(factoid); payload.setFactoids(factoids); ResultModel response = null; InputStream inputStream = new FileInputStream("D:\\452886513210892289.pdf"); ByteArrayBody byteArrayBody = new ByteArrayBody(IOUtils.toByteArray(inputStream), ContentType.DEFAULT_BINARY, "452886513210892289.pdf"); try { response = client.createAttestationWithFile(payload, byteArrayBody); System.out.println(Utils.objectToJson(response.getData())); } catch (ServerException e) { e.printStackTrace(); } 创建保全(sha256) ------------------ :: HashAttestationParam payload = new HashAttestationParam(); payload.setTemplate_id("ceshisha256"); payload.setUnique_id(randomUniqueId()); Map identities = new HashMap(); identities.put(IdentityTypeEnum.ID, "15851112383"); payload.setIdentities(identities); List factoids = new ArrayList(); PayloadFactoidParam factoid = new PayloadFactoidParam(); factoid.setUnique_id(randomUniqueId()); factoid.setType("file"); LinkedHashMap map = new LinkedHashMap(); factoid.setData(map); map.put("file_name", "李三"); map.put("size", "330124199501017791"); factoids.add(factoid); payload.setFactoids(factoids); payload.setSha256("654c71176b207401445fdd471f5e021f65af50d7361bf828e5b1219c89b977b0"); ResultModel response = null; try { response = client.createAttestationWithSha256(payload); System.out.println(Utils.objectToJson(response.getData())); } catch (Exception e) { e.printStackTrace(); } 网页取证 ------------------ :: UrlAttestationParam payload = new UrlAttestationParam(); // 设置保全唯一码 payload.setUnique_id(randomUniqueId()); // 设置模板id payload.setTemplate_id("4oE5JmY9SJqyieww75rYiW"); Map identities = new HashMap(); identities.put(IdentityTypeEnum.ID, "429006198507104214"); payload.setIdentities(identities); List factoids = new ArrayList(); PayloadFactoidParam factoid = new PayloadFactoidParam(); LinkedHashMap loanDataMap = new LinkedHashMap(); loanDataMap.put("web_address", "https://jx.tmall.com"); loanDataMap.put("name", "ceshi"); factoid.setData(loanDataMap); factoid.setUnique_id(randomUniqueId()); factoid.setType("evidence"); factoids.add(factoid); payload.setFactoids(factoids); payload.setUrl("https://www.w3school.com.cn"); payload.setMode(1); payload.setEvidenceName("测试取证"); payload.setEvidenceLabel("测试取证"); ResultModel response = client.createAsyAttestationWithUrl(payload); System.out.println(response.getData()); 网页取证模式二 展示图片 ------------------ :: UrlAttestationStep2Param payload = new UrlAttestationStep2Param(); payload.setNo("414384432619753472"); ResultModel response = client.createAttestationWithUrlConfirm(payload); Assert.assertNotNull(response.getData()); 网页取证模式二 确认取证 ------------------ :: UrlAttestationStep2Param payload = new UrlAttestationStep2Param(); payload.setNo("414384432619753472"); ResultModel response = client.downloadImgWithUrlAttestation(payload); Assert.assertNotNull(response.getData()); 获取保全数据 ------------------ :: ResultModel response = client.attestationInfo("434766956529192961"); System.out.println(Utils.objectToJson(response)); 下载保全文件 ------------------ :: try { DownloadAttestationInfo response = client.downloadFile("452886513210892289"); FileOutputStream fileOutputStream = new FileOutputStream(downloadFile.getFileName()); IOUtils.copy(downloadFile.getFile(), fileOutputStream); fileOutputStream.close(); } catch (ServerException e) { System.out.println(e.getMessage()); } 获取过程取证token ------------------ :: ProcessAttestationParam payload = new ProcessAttestationParam(); payload.setTemplate_id("mqAZQwNZbpbrmVTob6Ss"); payload.setUnique_id(randomUniqueId()); payload.setEvidenceType("PC"); Map identities = new HashMap(); identities.put(IdentityTypeEnum.ID, "15812383"); payload.setIdentities(identities); List factoids = new ArrayList(); PayloadFactoidParam factoid = new PayloadFactoidParam(); factoid.setUnique_id(randomUniqueId()); factoid.setType("evidence"); LinkedHashMap map = new LinkedHashMap(); factoid.setData(map); map.put("file_name", "李三"); map.put("size", "37791"); factoids.add(factoid); payload.setFactoids(factoids); ResultModel response = null; response = client.createProcessToken(payload); System.out.println(Utils.objectToJson(response)); Assert.assertNotNull(response.getData()); 查询过程取证详情 ------------------ :: ResultModel response client.getProcessInfo("485470291179343873"); System.out.println(Utils.objectToJson(response)); 结束过程取证 ------------------ :: ResultModel response client.stopProcess("425043414342438912"); System.out.println(Utils.objectToJson(response)); 司法鉴定 ------------------ :: EvidenceJudicialParam evidenceJudicialParam = new EvidenceJudicialParam(); evidenceJudicialParam.setEvidenceDesc("测试"); evidenceJudicialParam.setAddress("测试"); evidenceJudicialParam.setUserName("测试"); evidenceJudicialParam.setUserPhone("测试"); evidenceJudicialParam.setAnos("1"); evidenceJudicialParam.setName("测试"); evidenceJudicialParam.setEvidenceUseType(1); try { ResultModel response = client.createJudicial(evidenceJudicialParam); System.out.println("responseData:"+Utils.objectToJson(response.getData())); }catch(Exception e){ e.printStackTrace(); } 公证出证 ------------------ :: EvidenceNotarizationParam evidenceNotarizationParam = new EvidenceNotarizationParam(); evidenceNotarizationParam.setAddress("测试"); evidenceNotarizationParam.setUserName("测试"); evidenceNotarizationParam.setUserPhone("测试"); evidenceNotarizationParam.setAnos("1"); evidenceNotarizationParam.setName("测试"); try { ResultModel response = client.createNotarization(evidenceJudicialParam); System.out.println("responseData:"+Utils.objectToJson(response.getData())); }catch(Exception e){ e.printStackTrace(); }