公开文档

公开文档


HWA005-理赔晶世科保报案-结案接口

<p><strong>简要描述:</strong></p> <ul> <li>理赔 晶世科保 报案-结案接口,对接第三方</li> </ul> <p><strong>应用场景:</strong></p> <ul> <li>晶世科保通过接口实时推送赔案信息,申能自动完成从报案到结案;并将结果反馈至晶世科保</li> </ul> <p><strong>流程图:</strong></p> <p><strong>请求URL:</strong></p> <p>135.169地址 外网网135地址:<a href="https://sit-claim.95505.cn/httpClaimServices">https://sit-claim.95505.cn/httpClaimServices</a></p> <p>生产接口地址: 核心生产外网:<a href="https://claim-net-api.95505.cn/httpClaimServices">https://claim-net-api.95505.cn/httpClaimServices</a></p> <p><strong>请求方式:</strong></p> <ul> <li>POST +JSON</li> </ul> <p><strong>调用方法名:</strong></p> <ul> <li>autoCommonClaim</li> </ul> <p><strong>输入参数:</strong></p> <ul> <li>输入流+json</li> </ul> <p><strong>输出参数:</strong></p> <ul> <li>输入流+json</li> </ul> <p><strong>入参返参参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">字段名称</th> <th style="text-align: left;">英文</th> <th>类型</th> <th>字段长度</th> <th>是否可空</th> <th>是否多值</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">httpRequest(请求消息体)</td> </tr> <tr> <td style="text-align: left;">请求交易头信息</td> <td style="text-align: left;">requestHead</td> <td>RequestHead</td> <td>no</td> <td>no</td> <td>详见公共参数</td> </tr> <tr> <td style="text-align: left;">客户必须提供的参数对象</td> <td style="text-align: left;">requestBody</td> <td>RequestBody</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">RequestHead (请求交易头信息)</td> </tr> <tr> <td style="text-align: left;">服务代码</td> <td style="text-align: left;">serviceClass</td> <td>String</td> <td>no</td> <td>no</td> <td>HWA005</td> </tr> <tr> <td style="text-align: left;">服务名称</td> <td style="text-align: left;">serviceName</td> <td>String</td> <td>no</td> <td>no</td> <td>autoCommonClaim</td> </tr> <tr> <td style="text-align: left;">用户代码</td> <td style="text-align: left;">userCode</td> <td>String</td> <td>no</td> <td>no</td> <td>TACommon-JSTPA(晶世科保平台)-时间戳,示例:TACommon-JSTPA-1592292706</td> </tr> <tr> <td style="text-align: left;">用户名称</td> <td style="text-align: left;">userName</td> <td>String</td> <td>no</td> <td>no</td> <td>对usercode值进行公钥加密后的密文值</td> </tr> <tr> <td style="text-align: left;">RequestBody (客户必须提供的参数对象)</td> </tr> <tr> <td style="text-align: left;">保单号</td> <td style="text-align: left;">policyNo</td> <td>String</td> <td>50</td> <td>no</td> <td>no</td> <td>保单号</td> </tr> <tr> <td style="text-align: left;">订单号</td> <td style="text-align: left;">orderNo</td> <td>String</td> <td>50</td> <td>no</td> <td>no</td> <td>订单号</td> </tr> <tr> <td style="text-align: left;">报案人名称</td> <td style="text-align: left;">reporterName</td> <td>String</td> <td>255</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">报案人电话</td> <td style="text-align: left;">reporterPhoneNumber</td> <td>String</td> <td>30</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">出险时间</td> <td style="text-align: left;">damageStartDate</td> <td>String</td> <td>no</td> <td>no</td> <td>出险时间:格式:yyyy-MM-dd HH:mm:ss</td> </tr> <tr> <td style="text-align: left;">被保险人</td> <td style="text-align: left;">insuredName</td> <td>String</td> <td>255</td> <td>no</td> <td>no</td> <td>被保险人</td> </tr> <tr> <td style="text-align: left;">出险省</td> <td style="text-align: left;">damageProvince</td> <td>String</td> <td>30</td> <td>no</td> <td>no</td> <td>出险的省(省编码)</td> </tr> <tr> <td style="text-align: left;">出险市</td> <td style="text-align: left;">damageCity</td> <td>String</td> <td>30</td> <td>no</td> <td>no</td> <td>出险的市(市编码)</td> </tr> <tr> <td style="text-align: left;">出险区/镇</td> <td style="text-align: left;">damageDistrict</td> <td>String</td> <td>30</td> <td>no</td> <td>no</td> <td>出险的区县(区县编码)</td> </tr> <tr> <td style="text-align: left;">出险地点</td> <td style="text-align: left;">address</td> <td>String</td> <td>255</td> <td>no</td> <td>no</td> <td>详细地址</td> </tr> <tr> <td style="text-align: left;">出险经过</td> <td style="text-align: left;">registContext</td> <td>String</td> <td>255</td> <td>no</td> <td>no</td> <td>出险经过</td> </tr> <tr> <td style="text-align: left;">出险原因</td> <td style="text-align: left;">damageCode</td> <td>String</td> <td>255</td> <td>no</td> <td>no</td> <td>出险原因:411其他;对应损失明细:16其他;赔付责任类型:306其他赔付</td> </tr> <tr> <td style="text-align: left;">赔付金额</td> <td style="text-align: left;">lossFee</td> <td>String</td> <td>no</td> <td>no</td> <td>理赔总金额(险别金额合计)</td> </tr> <tr> <td style="text-align: left;">报案来源</td> <td style="text-align: left;">reportResource</td> <td>String</td> <td>no</td> <td>no</td> <td>报案来源:晶世科保-JSKB</td> </tr> <tr> <td style="text-align: left;">kindList</td> <td style="text-align: left;">List</td> <td>no</td> <td>no</td> <td>损失明细,必传</td> </tr> <tr> <td style="text-align: left;">kindList</td> </tr> <tr> <td style="text-align: left;">险别编码</td> <td style="text-align: left;">kindCode</td> <td>String</td> <td>no</td> <td>no</td> <td>险别编码</td> </tr> <tr> <td style="text-align: left;">险别损失金额</td> <td style="text-align: left;">sumLoss</td> <td>String</td> <td>no</td> <td>no</td> <td>险别损失金额</td> </tr> <tr> <td style="text-align: left;">损失对象类型</td> <td style="text-align: left;">lossType</td> <td>String</td> <td>no</td> <td>no</td> <td>损失对象类型:1-车物、2-人</td> </tr> <tr> <td style="text-align: left;">损失对象名称</td> <td style="text-align: left;">lossName</td> <td>String</td> <td>no</td> <td>no</td> <td>损失对象名称。</td> </tr> <tr> <td style="text-align: left;">损失明细代码</td> <td style="text-align: left;">chargeCode</td> <td>String</td> <td>no</td> <td>no</td> <td>损失明细枚举(代码-名称):车物损失:01-物损费用;人伤损失:01-死亡赔偿金、03-伤残赔偿金、04-医疗费、05-误工费、12-营养费、16-其它</td> </tr> <tr> <td style="text-align: left;">损失明细名称</td> <td style="text-align: left;">chargeName</td> <td>String</td> <td>no</td> <td>no</td> <td>损失明细名称</td> </tr> <tr> <td style="text-align: left;">赔付比例</td> <td style="text-align: left;">undwrtRate</td> <td>String</td> <td>no</td> <td>no</td> <td>赔付比例</td> </tr> <tr> <td style="text-align: left;">赔付金额</td> <td style="text-align: left;">paidAmount</td> <td>String</td> <td>no</td> <td>no</td> <td>赔付金额 = 险别损失金额 * 赔付比例</td> </tr> <tr> <td style="text-align: left;">clmPaymentInfoList</td> <td style="text-align: left;">List</td> <td>no</td> <td>no</td> <td>赔付对象信息,必传</td> </tr> <tr> <td style="text-align: left;">clmPaymentInfoList</td> </tr> <tr> <td style="text-align: left;">对公对私</td> <td style="text-align: left;">bankPayType</td> <td>String</td> <td>no</td> <td>no</td> <td>0-对公、1-对私</td> </tr> <tr> <td style="text-align: left;">分支行Code</td> <td style="text-align: left;">payeeBankCode</td> <td>String</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">银行账号</td> <td style="text-align: left;">accountNo</td> <td>String</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">账户名称</td> <td style="text-align: left;">accountName</td> <td>String</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">证件类型</td> <td style="text-align: left;">idType</td> <td>String</td> <td>no</td> <td>no</td> <td>单独码表</td> </tr> <tr> <td style="text-align: left;">证件号码</td> <td style="text-align: left;">idNo</td> <td>String</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">赔付金额</td> <td style="text-align: left;">payAmount</td> <td>String</td> <td>no</td> <td>no</td> </tr> <tr> <td style="text-align: left;">联系电话</td> <td style="text-align: left;">payeeMobile</td> <td>String</td> <td>no</td> <td>no</td> </tr> </tbody> </table> <p><strong>入参示例</strong></p> <pre><code>--因加密后存在特殊字符,需要针对整个报文进行urlencode转码 --在线转码地址:http://www.jsons.cn/urlencode { &amp;quot;httpRequest&amp;quot;: { &amp;quot;requestHead&amp;quot;: { &amp;quot;serviceClass&amp;quot;: &amp;quot;HWA005&amp;quot;, &amp;quot;serviceName&amp;quot;: &amp;quot;autoCommonClaim&amp;quot;, &amp;quot;userCode&amp;quot;: &amp;quot;TACommon-JSTPA-1592292706&amp;quot;, &amp;quot;userName&amp;quot;: &amp;quot;S9VIiY/9SiArQnKSxOn9Xx/FjvvRuwDdELjhhkB79J3ZCsResOOB1PT9lnlOIfWT6U7/vJa3mydzDEw3BaBA73vN0QruAhQJXAdyFUE+oj4z1yg0yLm24YBqpHvBUzXKtIUG5fd3exqia6AiHxkmJGdrWsw8vfcDOhzx5GAfjvM=&amp;quot; }, &amp;quot;requestBody&amp;quot;: { &amp;quot;policyNo&amp;quot;: &amp;quot;6614030110706220000037&amp;quot;, &amp;quot;orderNo&amp;quot;: &amp;quot;ordremoteDev20220803001&amp;quot;, &amp;quot;reporterName&amp;quot;: &amp;quot;张无忌&amp;quot;, &amp;quot;reporterPhoneNumber&amp;quot;: &amp;quot;18404983580&amp;quot;, &amp;quot;damageStartDate&amp;quot;: &amp;quot;2022-07-10 07:19:33&amp;quot;, &amp;quot;insuredName&amp;quot;: &amp;quot;张无忌&amp;quot;, &amp;quot;damageProvince&amp;quot;: &amp;quot;320000&amp;quot;, &amp;quot;damageCity&amp;quot;: &amp;quot;320200&amp;quot;, &amp;quot;damageDistrict&amp;quot;: &amp;quot;320282&amp;quot;, &amp;quot;address&amp;quot;: &amp;quot;卡园三路58号&amp;quot;, &amp;quot;registContext&amp;quot;: &amp;quot;卡园三路58号xxxxxxxxxx&amp;quot;, &amp;quot;damageCode&amp;quot;: &amp;quot;411&amp;quot;, &amp;quot;lossFee&amp;quot;: &amp;quot;100.00&amp;quot;, &amp;quot;reportResource&amp;quot;: &amp;quot;JSKB&amp;quot;, &amp;quot;kindList&amp;quot;: [ { &amp;quot;lossType&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;lossName&amp;quot;: &amp;quot;物品&amp;quot;, &amp;quot;sex&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;identifyType&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;identifyNo&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;age&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;kindCode&amp;quot;: &amp;quot;1107001&amp;quot;, &amp;quot;chargeCode&amp;quot;: &amp;quot;01&amp;quot;, &amp;quot;chargeName&amp;quot;: &amp;quot;物损费用&amp;quot;, &amp;quot;sumLoss&amp;quot;: &amp;quot;111.00&amp;quot;, &amp;quot;undwrtRate&amp;quot;: &amp;quot;100&amp;quot;, &amp;quot;paidAmount&amp;quot;: &amp;quot;111.00&amp;quot; } ], &amp;quot;clmPaymentInfoList&amp;quot;: [ { &amp;quot;bankPayType&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;payeeBankProvinceCode&amp;quot;: &amp;quot;11&amp;quot;, &amp;quot;payeeBankProvinceName&amp;quot;: &amp;quot;北京市&amp;quot;, &amp;quot;payeeBankCityCode&amp;quot;: &amp;quot;1100&amp;quot;, &amp;quot;payeeBankCityName&amp;quot;: &amp;quot;北京市&amp;quot;, &amp;quot;bankCode&amp;quot;: &amp;quot;ICBC&amp;quot;, &amp;quot;bankName&amp;quot;: &amp;quot;中国工商银行&amp;quot;, &amp;quot;payee&amp;quot;: &amp;quot;张三&amp;quot;, &amp;quot;payeeBankCode&amp;quot;: &amp;quot;10209452&amp;quot;, &amp;quot;payeeBankName&amp;quot;: &amp;quot;北京市工商银行XX分行&amp;quot;, &amp;quot;accountNo&amp;quot;: &amp;quot;6210812430015711712&amp;quot;, &amp;quot;accountName&amp;quot;: &amp;quot;xxx&amp;quot;, &amp;quot;idType&amp;quot;: &amp;quot;01&amp;quot;, &amp;quot;idNo&amp;quot;: &amp;quot;411024199911267718&amp;quot;, &amp;quot;payAmount&amp;quot;: &amp;quot;422.0&amp;quot; } ] } } } </code></pre> <p><strong>返回示例</strong></p> <pre><code> { &amp;quot;httpResponse&amp;quot;: { &amp;quot;responseHead&amp;quot;: { &amp;quot;resultCode&amp;quot;: &amp;quot;000&amp;quot;, &amp;quot;errorMessage&amp;quot;: &amp;quot;成功&amp;quot;, &amp;quot;serviceClass&amp;quot;: &amp;quot;HWA005&amp;quot;, &amp;quot;serviceName&amp;quot;: &amp;quot;autoCommonClaim&amp;quot; }, &amp;quot;responseBody&amp;quot;: { &amp;quot;registNo&amp;quot;: &amp;quot;07613108082020000050&amp;quot; } } }</code></pre> <p><strong>备注</strong></p> <ul> <li>无</li> </ul> <p><strong>加解密</strong></p> <ul> <li>针对userCode进行加密,加密后密文存值userName中</li> </ul> <ul> <li>测试环境私钥: <pre><code>MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJQYdcMn9YKaIIsQQ+PXXO11EF3IKJ6qugvPAs/oZS/NPKWndVcWBVhSdAD3vd+Vd75VTaHUSI0w55QGbEQCNuVYuWPsCnkpksSjWruUKtSovAYVtchFHMJJKdAU8TiQXIKnhiNowBiT1l4dvt4Xt1gdf1UVWKUzTRIjhO9pUnF/AgMBAAECgYB5TwvvnyTBJWUw5FLoKDpLnE+asmFrjue00o44JeH05QYfn2tDuZsJPQke3dBfe/zJIPDldZE0bnHTU+uNTc8OkDtyrL1y92MdJ+PvzknPyeFeGcPykhgPDoFDWR5fiTaO2seU11CSiUW5TW1TKhwwnSgOH5tZE01CH2qab1SqkQJBANapPYzQAxp15vD3/bUo6Oenjc6iFRdVzYlaU3iCkiyXeOPSwKb+A9OD1UObcRdXpBpA3m2I4X1ChcM0XgnRhscCQQCwnYxP9VIYEWxYDk7TRgIwFMBT7HdHTlSG0CQKHoXGB22bGP65PnSEilEGF/V8P+RrH3hcDGaFq5sG/2PxDyeJAkEAiJ1LA8v6vaNdp+xcNihkGdJkCKbUv3YnCgxHZUHMH78C/BNL8rtk2f9kAdPypIVtdhvks1dTErH8iWBRnPQRTwJBALCR0eVebWSChr7CDyxJoYZQOLeugNFZDkh5bo5vVW5Vns6gfojUV8jqP3bIHTTK66HtJHdiLl0U4zhru48Uh4ECQFkySfVrLRZ3lAtSBX/hOJEmo5pzcAsjXbl2+uwilgjhnFsZy4z3L7RRuEl2oxF9vpAZG3uSuDnlhb3MnuOC93I=</code></pre></li> <li>测试环境公钥: <pre><code>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUGHXDJ/WCmiCLEEPj11ztdRBdyCieqroLzwLP6GUvzTylp3VXFgVYUnQA973flXe+VU2h1EiNMOeUBmxEAjblWLlj7Ap5KZLEo1q7lCrUqLwGFbXIRRzCSSnQFPE4kFyCp4YjaMAYk9ZeHb7eF7dYHX9VFVilM00SI4TvaVJxfwIDAQAB</code></pre></li> </ul> <pre><code> package com.sinosoft.application.common; import org.apache.commons.codec.binary.Base64; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import javax.crypto.Cipher; import java.io.ByteArrayOutputStream; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Map; import java.util.TreeMap; public class RSASecurityUtil { /** * RSA最大加密明文大小 */ private static final int MAX_ENCRYPT_BLOCK = 117; /** * RSA最大解密密文大小 */ private static final int MAX_DECRYPT_BLOCK = 128; /** * 获取密钥对 * * @return 密钥对 */ public static KeyPair getKeyPair() throws Exception { KeyPairGenerator generator = KeyPairGenerator.getInstance(&amp;quot;RSA&amp;quot;); generator.initialize(1024); return generator.generateKeyPair(); } /** * 获取私钥 * * @param privateKey 私钥字符串 * @return */ public static PrivateKey getPrivateKey(String privateKey) throws Exception { KeyFactory keyFactory = KeyFactory.getInstance(&amp;quot;RSA&amp;quot;); byte[] decodedKey = Base64.decodeBase64(privateKey.getBytes()); PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(decodedKey); return keyFactory.generatePrivate(keySpec); } /** * 获取公钥 * * @param publicKey 公钥字符串 * @return */ public static PublicKey getPublicKey(String publicKey) throws Exception { KeyFactory keyFactory = KeyFactory.getInstance(&amp;quot;RSA&amp;quot;); byte[] decodedKey = Base64.decodeBase64(publicKey.getBytes()); X509EncodedKeySpec keySpec = new X509EncodedKeySpec(decodedKey); return keyFactory.generatePublic(keySpec); } /** * RSA加密 * * @param data 待加密数据 * @param publicKey 公钥 * @return */ public static String encrypt(String data, PublicKey publicKey) throws Exception { Cipher cipher = Cipher.getInstance(&amp;quot;RSA&amp;quot;); cipher.init(Cipher.ENCRYPT_MODE, publicKey); int inputLen = data.getBytes().length; ByteArrayOutputStream out = new ByteArrayOutputStream(); int offset = 0; byte[] cache; int i = 0; // 对数据分段加密 while (inputLen - offset &amp;gt; 0) { if (inputLen - offset &amp;gt; MAX_ENCRYPT_BLOCK) { cache = cipher.doFinal(data.getBytes(), offset, MAX_ENCRYPT_BLOCK); } else { cache = cipher.doFinal(data.getBytes(), offset, inputLen - offset); } out.write(cache, 0, cache.length); i++; offset = i * MAX_ENCRYPT_BLOCK; } byte[] encryptedData = out.toByteArray(); out.close(); // 获取加密内容使用base64进行编码,并以UTF-8为标准转化成字符串 // 加密后的字符串 return new String(Base64.encodeBase64(encryptedData)); } /** * RSA解密 * * @param data 待解密数据 * @param privateKey 私钥 * @return */ public static String decrypt(String data, PrivateKey privateKey) throws Exception { Cipher cipher = Cipher.getInstance(&amp;quot;RSA&amp;quot;); cipher.init(Cipher.DECRYPT_MODE, privateKey); byte[] dataBytes = Base64.decodeBase64(data.getBytes()); int inputLen = dataBytes.length; ByteArrayOutputStream out = new ByteArrayOutputStream(); int offset = 0; byte[] cache; int i = 0; // 对数据分段解密 while (inputLen - offset &amp;gt; 0) { if (inputLen - offset &amp;gt; MAX_DECRYPT_BLOCK) { cache = cipher.doFinal(dataBytes, offset, MAX_DECRYPT_BLOCK); } else { cache = cipher.doFinal(dataBytes, offset, inputLen - offset); } out.write(cache, 0, cache.length); i++; offset = i * MAX_DECRYPT_BLOCK; } byte[] decryptedData = out.toByteArray(); out.close(); // 解密后的内容 return new String(decryptedData, &amp;quot;UTF-8&amp;quot;); } /** * 签名 * * @param data 待签名数据 * @param privateKey 私钥 * @return 签名 */ public static String sign(String data, PrivateKey privateKey) throws Exception { byte[] keyBytes = privateKey.getEncoded(); PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance(&amp;quot;RSA&amp;quot;); PrivateKey key = keyFactory.generatePrivate(keySpec); Signature signature = Signature.getInstance(&amp;quot;MD5withRSA&amp;quot;); signature.initSign(key); signature.update(data.getBytes(&amp;quot;UTF-8&amp;quot;)); return new String(Base64.encodeBase64(signature.sign())); } /** * 验签 * * @param srcData 原始字符串 * @param publicKey 公钥 * @param sign 签名 * @return 是否验签通过 */ public static boolean verify(String srcData, PublicKey publicKey, String sign) throws Exception { byte[] keyBytes = publicKey.getEncoded(); X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance(&amp;quot;RSA&amp;quot;); PublicKey key = keyFactory.generatePublic(keySpec); Signature signature = Signature.getInstance(&amp;quot;MD5withRSA&amp;quot;); signature.initVerify(key); signature.update(srcData.getBytes(&amp;quot;UTF-8&amp;quot;)); return signature.verify(Base64.decodeBase64(sign.getBytes())); } /** * GET请求,业务参数签名 * @param paramsMap get请求参数的map集合 * @param privateKeyStr 参与签名的私钥 * @return */ public static String signForHttpGet(Map&amp;lt;String, String&amp;gt; paramsMap, String privateKeyStr) { TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String, String&amp;gt;(paramsMap); // 将入参进行排序 String data = treeMap.toString(); String sign = null; try { sign = RSASecurityUtil.sign(data, RSASecurityUtil.getPrivateKey(privateKeyStr)); } catch (Exception e) { e.printStackTrace(); } return sign; } /** * POST请求,body业务参数签名 * @param bodyEntity post请求的body参数对象 * @param privateKeyStr 参与签名的私钥 * @return */ public static String signForHttpPost(Object bodyEntity, String privateKeyStr) { String json = null; if (bodyEntity instanceof String) { json = bodyEntity.toString(); } else { ObjectMapper mapper = new ObjectMapper(); try { json = mapper.writeValueAsString(bodyEntity); } catch (JsonProcessingException e) { e.printStackTrace(); } } String sign = null; try { sign = RSASecurityUtil.sign(json, RSASecurityUtil.getPrivateKey(privateKeyStr)); } catch (Exception e) { e.printStackTrace(); } return sign; } public static void main(String[] args) throws Exception { try { // 生成密钥对 KeyPair keyPair = getKeyPair(); String privateKey = new String(Base64.encodeBase64(keyPair.getPrivate().getEncoded())); String publicKey = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded())); System.out.println(&amp;quot;私钥:&amp;quot; + privateKey); System.out.println(&amp;quot;公钥:&amp;quot; + publicKey); // RSA加密 String data = &amp;quot;1234&amp;quot;; String encryptData = encrypt(data, getPublicKey(publicKey)); System.out.println(&amp;quot;加密后内容:&amp;quot; + encryptData); // RSA解密 String decryptData = decrypt(encryptData, getPrivateKey(privateKey)); System.out.println(&amp;quot;解密后内容:&amp;quot; + decryptData); // RSA签名 String sign = sign(data, getPrivateKey(privateKey)); // RSA验签 boolean result = verify(data, getPublicKey(publicKey), sign); System.out.print(&amp;quot;验签结果:&amp;quot; + result); } catch (Exception e) { e.printStackTrace(); System.out.print(&amp;quot;加解密异常&amp;quot;); } } } </code></pre> <ul> <li>httpResponse (公共返回信息)</li> </ul> <table> <thead> <tr> <th style="text-align: left;">字段名称</th> <th style="text-align: left;">变量名</th> <th>类型</th> <th>字段长度</th> <th>是否可空</th> <th>是否多值</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">responseHead  </td> <td style="text-align: left;"> (公共返回信息head)</td> </tr> <tr> <td style="text-align: left;">结果代码</td> <td style="text-align: left;">resultCode</td> <td>String</td> <td>no</td> <td>no</td> <td>000-处理成功,999处理失败</td> </tr> <tr> <td style="text-align: left;">服务代码</td> <td style="text-align: left;">serviceClass</td> <td>String</td> <td>no</td> <td>no</td> <td>HWA005</td> </tr> <tr> <td style="text-align: left;">服务名称</td> <td style="text-align: left;">serviceName</td> <td>String</td> <td>no</td> <td>no</td> <td>autoCommonClaim</td> </tr> <tr> <td style="text-align: left;">错误信息</td> <td style="text-align: left;">errorMessage</td> <td>String</td> <td>no</td> <td>no</td> <td>错误信息</td> </tr> <tr> <td style="text-align: left;">responseBody </td> <td style="text-align: left;"> (公共返回信息body)</td> </tr> <tr> <td style="text-align: left;">报案号</td> <td style="text-align: left;">registNo</td> <td>String</td> <td>no</td> <td>no</td> <td>处理成功时返回,失败时为空</td> </tr> </tbody> </table> <p><strong>枚举信息</strong></p> <ul> <li>赔付信息收款人证件类型</li> </ul> <table> <thead> <tr> <th style="text-align: left;">代码</th> <th style="text-align: left;">名称</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">01</td> <td style="text-align: left;">居民身份证</td> </tr> <tr> <td style="text-align: left;">02</td> <td style="text-align: left;">居民户口簿</td> </tr> <tr> <td style="text-align: left;">03</td> <td style="text-align: left;">驾驶证</td> </tr> <tr> <td style="text-align: left;">04</td> <td style="text-align: left;">军官证</td> </tr> <tr> <td style="text-align: left;">05</td> <td style="text-align: left;">士兵证</td> </tr> <tr> <td style="text-align: left;">06</td> <td style="text-align: left;">军官离退休</td> </tr> <tr> <td style="text-align: left;">07</td> <td style="text-align: left;">中国护照</td> </tr> <tr> <td style="text-align: left;">08</td> <td style="text-align: left;">异常身份证</td> </tr> <tr> <td style="text-align: left;">09</td> <td style="text-align: left;">港澳通行证</td> </tr> <tr> <td style="text-align: left;">10</td> <td style="text-align: left;">台湾通行证</td> </tr> <tr> <td style="text-align: left;">11</td> <td style="text-align: left;">回乡证</td> </tr> <tr> <td style="text-align: left;">12</td> <td style="text-align: left;">统一社会信用代码</td> </tr> <tr> <td style="text-align: left;">14</td> <td style="text-align: left;">外国人永久居留身份证</td> </tr> <tr> <td style="text-align: left;">31</td> <td style="text-align: left;">组织机构代码证</td> </tr> <tr> <td style="text-align: left;">32</td> <td style="text-align: left;">营业执照</td> </tr> <tr> <td style="text-align: left;">33</td> <td style="text-align: left;">税务登记证</td> </tr> <tr> <td style="text-align: left;">34</td> <td style="text-align: left;">工商登记证</td> </tr> <tr> <td style="text-align: left;">51</td> <td style="text-align: left;">外国护照</td> </tr> <tr> <td style="text-align: left;">52</td> <td style="text-align: left;">旅行证</td> </tr> <tr> <td style="text-align: left;">53</td> <td style="text-align: left;">居留证</td> </tr> <tr> <td style="text-align: left;">55</td> <td style="text-align: left;">港澳台居民居住证</td> </tr> <tr> <td style="text-align: left;">98</td> <td style="text-align: left;">武警身份证</td> </tr> <tr> <td style="text-align: left;">99</td> <td style="text-align: left;">其他证件</td> </tr> </tbody> </table> <ul> <li>人伤证件类型</li> </ul> <table> <thead> <tr> <th style="text-align: left;">代码</th> <th style="text-align: left;">名称</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">01</td> <td style="text-align: left;">居民身份证</td> </tr> <tr> <td style="text-align: left;">02</td> <td style="text-align: left;">居民户口簿</td> </tr> <tr> <td style="text-align: left;">03</td> <td style="text-align: left;">驾驶证</td> </tr> <tr> <td style="text-align: left;">04</td> <td style="text-align: left;">军官证</td> </tr> <tr> <td style="text-align: left;">05</td> <td style="text-align: left;">士兵证</td> </tr> <tr> <td style="text-align: left;">06</td> <td style="text-align: left;">军官离退休</td> </tr> <tr> <td style="text-align: left;">07</td> <td style="text-align: left;">中国护照</td> </tr> <tr> <td style="text-align: left;">08</td> <td style="text-align: left;">异常身份证</td> </tr> <tr> <td style="text-align: left;">09</td> <td style="text-align: left;">港澳通行证</td> </tr> <tr> <td style="text-align: left;">10</td> <td style="text-align: left;">台湾通行证</td> </tr> <tr> <td style="text-align: left;">11</td> <td style="text-align: left;">回乡证</td> </tr> <tr> <td style="text-align: left;">12</td> <td style="text-align: left;">统一社会信用代码</td> </tr> <tr> <td style="text-align: left;">14</td> <td style="text-align: left;">外国人永久居留身份证</td> </tr> <tr> <td style="text-align: left;">31</td> <td style="text-align: left;">组织机构代码证</td> </tr> <tr> <td style="text-align: left;">32</td> <td style="text-align: left;">营业执照</td> </tr> <tr> <td style="text-align: left;">33</td> <td style="text-align: left;">税务登记证</td> </tr> <tr> <td style="text-align: left;">34</td> <td style="text-align: left;">工商登记证</td> </tr> <tr> <td style="text-align: left;">51</td> <td style="text-align: left;">外国护照</td> </tr> <tr> <td style="text-align: left;">52</td> <td style="text-align: left;">旅行证</td> </tr> <tr> <td style="text-align: left;">53</td> <td style="text-align: left;">居留证</td> </tr> <tr> <td style="text-align: left;">55</td> <td style="text-align: left;">港澳台居民居住证</td> </tr> <tr> <td style="text-align: left;">98</td> <td style="text-align: left;">武警身份证</td> </tr> <tr> <td style="text-align: left;">99</td> <td style="text-align: left;">其他证件</td> </tr> </tbody> </table> <p>欢迎使用ShowDoc!</p>

页面列表

ITEM_HTML