private static MsgBean decryptANDverify(String res) { String msg_sign_enc = res.split("\\|")[0]; String key_3des_enc = res.split("\\|")[1]; // 解密密钥 String key_3des = RSA.decrypt(key_3des_enc, mer_pfx_key, mer_pfx_pass); // 解密报文 String msg_sign = TripleDes.decrypt(key_3des, msg_sign_enc); MsgBean res_bean = new MsgBean(); res_bean.toBean(msg_sign); System.out.println("res:" + res_bean.toXml()); // 验签 String dna_sign_msg = res_bean.getMSG_SIGN(); res_bean.setMSG_SIGN(""); String verify = Strings.isNullOrEmpty(res_bean.getVERSION()) ? res_bean.toXml() : res_bean.toSign(); System.out.println("verify:" + verify); if (!RSA.verify(dna_sign_msg, dna_pub_key, verify)) { logger.error("验签失败"); res_bean.setTRANS_STATE("00A0"); } return res_bean; }