建设工程领域电子保函保险基础公共服务平台签名生成、报文加密、独立投标保函示范、投标保证保险凭证保函模板、郑重声明.docx
《建设工程领域电子保函保险基础公共服务平台签名生成、报文加密、独立投标保函示范、投标保证保险凭证保函模板、郑重声明.docx》由会员分享,可在线阅读,更多相关《建设工程领域电子保函保险基础公共服务平台签名生成、报文加密、独立投标保函示范、投标保证保险凭证保函模板、郑重声明.docx(11页珍藏版)》请在课桌文档上搜索。
1、附录A签名生成示范A.lSign签名生成1 .将报文字段(非空字段即不是null或者”)按照ASCII升序排序,并按照“参数=参数值”的模式,用字符拼接成字符串。2 .使用appsecret对报文进行签名,用于验证数据未被篡改。示例1:JAVA:publicstaticStringCreateSignStr(SortedMapparameters,Stringsecret)StringBuffersb=newStringBuffer();Setes=parameters.entrySet();所有参与传参的参数按照accsii排序(升序)Iteratorit=es.iterator();whi
2、le(it.hasNext()Map.Entryentry=(Map.Entry)it.next();Stringk=(String)entry.getKey();Objectv=entry.getValue();if(null!=v&StringUtils.isNotEmpty(v.toString()&!sign.equals(k)&!appsecret.equals(k)sb.append(k+=+v.toString()+)1sb.append(appsecret=+secret);returnsb.toString();)publicstaticStringcreateSign(St
3、ringstring)try)bytesignHash=hash(string.getBytes(UTF-8);StringBuildersignature=newStringBuilderO;for(byteb:signHash)signature.append(byteToHexString(b);1returnsignature.toString();catch(UnsupportedEncociingExceptione)e.printStackTrace();1returnnull;1publicstaticStringbyteToHexString(byteib)charDigit
4、=0,2,3,4,5,6,7,8,9,a,b,c,d,e,f;charob=newchar2;ob0=Digit(ib4)&OXOf;obl=DigitibOXOF;Stringstr=newString(ob);returnstr;附录B报文加密示范8.1 报文加解密1 .参数加密使用国密SM2非对称加密算法,由基础公共服务平台根据金融机构提供的服务器公钥进行加密。2 .机构获取加密数据后使用私钥解密。3 .保函文件数字信封,由金融机构使用SM4对称加密后,再使用SM2加密SM4对称加密秘钥传输。投保人通过CA私钥解密后获得SM4对称加密秘钥后,对保函文件进行解密。加密方法示例1:JAVA:
5、/加密方法publicstaticStringencrypt(bytegongyao,bytejiamichuan)Stringmichuan=,;/定义是否加密成功标志booleanisSuccessEnc=true;/定义最大加密次数intITiaxEncCount=10;dotry(michuan=SM2UtilExt.encrypt(gongyao,jiamichuan);log.info(力口密串=,michuan);/再加一层兼容性校验,三方传过来的数据解密会出现asn序列化失败,若出现则重新进行加密DERSequence.getInstance(Base64Util.decode
6、(michuan);returnmichuan;catch(Exceptione)isSuccessEnc=false;maxEncCount-;1while(maxEncCountO&!isSuccessEnc);ASSert.isTrue(StringUtils.isNotBlank(michuan),加密出错);returnmichuan;解密方法示例2:JAVA:/解密publicvoiddecrypt()throwsException/获取私钥证书bytepkcsl2=FiIeUtiLreadFile(TEST_PFX_FILENAME);BCECPrivateKeypriKey=S
7、M2CertUtiI.getPrivateKeyFromPfx(pkcs12,TEST_PFX_PASSWD);/金融机构解密字段bytederCipher=SM2Util.decodeDERSM2Cipher(Mode.ClC2C3,Base64Util.decode(ENC_DATA);bytedecData=SM2Util.decrypt(Mode.ClC3C2,priKey,derCipher);SyStem.out.println(金融机构解密信息:+newString(decData,UTF-8);新增字符集数字信封解密方法示例3:JS:decryDigitalenvelope(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 建设 工程 领域 电子 保险 基础 公共 服务 平台 签名 生成 报文 加密 独立 投标 示范 保证 凭证 模板 郑重 声明
链接地址:https://www.desk33.com/p-470262.html