直接开始,主要包括三个部分:签名接口测试、验签接口测试、代码实现。

这里写目录标题

  • 1. 签名接口测试
  • 2. 验签接口测试
  • 3. java代码调用接口

1. 签名接口测试

这里签名和验签接口均使用Postman进行测试。

接口测试界面及正常反馈如下,测试时ip,端口、证书(certAlias)需要自己准备。
注意点:b64OriginData参数需要先将自己的参数转为b64编码,方便测试的话可以在线转,网址:https://base64.us/

或者对postman不太了解的,下面附上headers配置

2. 验签接口测试

类似签名接口,接口测试及正常反馈界面如下:
注意点:b64SignedData和b64Cert参数来源为签名接口返回的数据,其他b64OriginData、certAlias参数同签名接口。

3. java代码调用接口

这里主要贴一下自己写的签名验签工具类,复制到自己项目里调用即可。如下:

//签名验签工具类
public class AutographUtils {/** 签名验签url */private static String requestUrl="http://ip:端口";/** 证书 */private static String certAlias="你的证书";//签名public static JSONObject qianming(String b64OriginData){JSONObject sendData = new JSONObject();JSONObject resultData = null;try {URL url = new URL(requestUrl+"/api/svs/bss/signData");//打开和url之间的连接HttpURLConnection conn = (HttpURLConnection) url.openConnection();//设置请求方式conn.setRequestMethod("POST");//设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");//设置请求头conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");//设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个conn.setDoOutput(true);conn.setDoInput(true);//获取URLConnection对象对应的输出流PrintWriter out = new PrintWriter(conn.getOutputStream());//设置请求参数sendData.put("b64OriginDa",b64OriginData);sendData.put("certAlias",certAlias);out.print(sendData);//缓冲数据out.flush();//获取URLConnection对象对应的输入流InputStream is = conn.getInputStream();//构造一个字符流缓存BufferedReader br = new BufferedReader(new InputStreamReader(is));String str = "";while ((str = br.readLine()) != null) {resultData = JSONObject.parseObject(str);}System.err.println("获取到的报文数据为:"+resultData);//关闭流is.close();//断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。//固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。conn.disconnect();System.err.println("结束");} catch (Exception e) {e.printStackTrace();}return resultData;}//验签public static JSONObject yanqian(String b64OriginData,String b64SignedData,String b64Cert){JSONObject sendData = new JSONObject();JSONObject resultData = null;try {URL url = new URL(requestUrl+"/api/svs/bss/verifySigned");//打开和url之间的连接HttpURLConnection conn = (HttpURLConnection) url.openConnection();//设置请求方式conn.setRequestMethod("POST");//设置通用的请求属性conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");//设置请求头conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");//设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个conn.setDoOutput(true);conn.setDoInput(true);//获取URLConnection对象对应的输出流PrintWriter out = new PrintWriter(conn.getOutputStream());//设置请求参数sendData.put("b64OriginDa",b64OriginData);sendData.put("b64SignedData",b64SignedData);sendData.put("certAlias",certAlias);sendData.put("b64Cert",b64Cert);out.print(sendData);//缓冲数据out.flush();//获取URLConnection对象对应的输入流InputStream is = conn.getInputStream();//构造一个字符流缓存BufferedReader br = new BufferedReader(new InputStreamReader(is));String str = "";while ((str = br.readLine()) != null) {resultData = JSONObject.parseObject(str);}System.err.println("获取到的报文数据为:"+resultData);//关闭流is.close();//断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。//固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。conn.disconnect();System.err.println("结束");} catch (Exception e) {e.printStackTrace();}return resultData;}}

格尔签名验签接口使用记录相关推荐

  1. php pkcs7签名验签算法,OpenSSL 签名验签接口调用及测试

    OpenSSL 签名验签接口调用及测试 概述 项目中我们经常会遇到开发签名.验签功能.签名.验签是可信赖网络的一个重要功能.因此,我记录了OpenSSL 签名验签接口调用及测试. 相关测试代码 bas ...

  2. springboot接口签名统一效验_Python如何接入开放平台?签名验签、加密解密、授权认证测试实战...

    当前大型top企业都有非常成熟的开放平台业务,比如微信开放平台.新浪微博开放平台.支付宝开放平台等.开放平台的发展为第三方个人或企业提供了巨大的机遇.开发者想要接入各大开放平台,必须要遵从开放平台的安 ...

  3. API 接口签名验签

    目录 一.为什么需要 API 接口签名 二.API 接口签名验签实现机制 一.为什么需要 API 接口签名 对外开放的 API 接口都会面临一些安全问题,例如伪装攻击.篡改攻击.重放攻击以及数据信息泄 ...

  4. 记录 Windows 下编译一个开源 SM9 签名验签 C 程序的过程

    注:本文不讨论算法具体实现细节,只介绍如何编译一个现有的程序实现. 在商用密码检测中心( 链接:http://www.scctc.org.cn/index.aspx )的网站上,"下载中心& ...

  5. 密码技术应用--RSA文件签名验签

    记录一下对一些稍大文件进行RSA签名验签的实现,这里只列出了核心代码,其他不涉及的代码或者有任何疑问可以查看我之前写的密码技术专题博客 /* 函数名: rsaSignrsa 签名算法实现对文件的签名 ...

  6. 密码技术应用--SM2文件签名验签

    记录一下对一些稍大文件进行SM2签名验签的实现,这里只列出了核心代码,其他不涉及的代码或者有任何疑问可以查看我之前写的密码技术专题博客 /* 函数名: sm2Signsm2 签名算法实现对文件的签名 ...

  7. 叙述无保密机制的rsa签名过程_安全系列之——RSA的公钥私钥有多少人能分的清楚?RSA的签名验签与加密解密如何使用公私钥?...

    在对接很多的互联网公司的开发平台时,这些互联网公司未来自身平台的安全,都会需要调用方签名确认调用方的身份是合法的,同时未来信息网络传输的安全可能还需要加密解密.比如对接支付宝.微信开放平台时,需要配置 ...

  8. 密码机分类--签名验签服务器

    商密产品认证-签名验签服务器 产品概述 签名验签服务器应用要点 产品概述 签名验签服务器是为应用实体提供基于PKI体系和数字证书的数字签名.验证签名等运算功能的服务器,可以保证关键业务信息的真实性.完 ...

  9. 国密SM4加解密SM2签名验签COM组件DLL

    提供给第三方软件,调用COM组件DLL方式进行实现,如delphi.PB等. 基于C#编写的COM组件DLL,可实现SM2签名验签,SM4加解密,100%适用于黑龙江省国家医保接口中进行应用. 功能包 ...

最新文章

  1. MySQL中的数据分组
  2. 【最详细】【传智播客】JavaWeb程序设计任务教程 第5、6章练习答案
  3. 编码utf-8的不可映射字符_不要在 MySQL 中使用“utf8”,请使用“utf8mb4”
  4. SAP Spartacus org unit table的DOM structure
  5. Gradle:我们需要另一个构建工具吗?
  6. C#制作、打包、签名、发布Activex全过程
  7. 分布式缓存的25个优秀实践与线上案例 done
  8. 57 SD配置-科目分配-定义客户账户分配组
  9. 原生JavaScript添加format方法 ----占位符
  10. 《未来世界的幸存者》读后有感
  11. 前端面试(面试官篇)
  12. Farkas 定理的几何证明
  13. 基于多视角照片的3D人脸重建
  14. windows 禁用中文输入法
  15. Excel2010基础-学习笔记
  16. 微信摇一摇插件ios_iOS仿微信摇一摇功能
  17. vue- Vue-Cli脚手架工具安装 -创建项目-页面开发流程-组件生命周期-03
  18. sns.regplot 和 sns.distplot你知道多少
  19. 微信小程序:去除自带顶部导航栏
  20. 46、linux开发笔记(主线更新)

热门文章

  1. python中getopt函数详解
  2. python和cfa_为什么这群人弃考CFA,转战Python了?
  3. 【20保研】清华-伯克利深圳学院2019年暑期夏令营招募通知
  4. 我不杀伯仁,伯仁却因我而死
  5. Android Audio播放流程详解
  6. 【Guacamole中文文档】二、用户指南 —— 1.实现和架构
  7. 最新考古学发现: 人类起源于亚洲
  8. java 驱动级模拟键盘,易语言开源驱动级模拟键盘工具(可绕过wegame屏蔽)
  9. 5月书讯 | 华章IT图书上新啦!重磅新书在线投喂...
  10. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E' for column 'nick' at row 1