菜鸟飞行记——三、证书验证、加签验签

当你什么都不知道的时候,就试着问,问,问,查,查,查。总会有个大致了解。

需求:需要做个绑定证书的功能和对数据进行加签验签
给用户绑定证书,需要获取证书的信息,如何获取,需要联系证书厂家,让证书厂家提供与使用环境相匹配的开发工具包。我们刚开始的环境是Windows,浏览器是ie和火狐。厂家给了一个工具包,可以满足以上环境(火狐版本必须是小于等于51.0)。后来我们系统迁到Linux环境,浏览器是火狐。这时获取证书信息的方法就需要重新联系厂家,厂家会重新提供开发工具包。
获取证书信息:会区分是前台获取还是服务端获取。我两种都用过。前面那种直接有页面demo可以拿现成的方法进行调用,后面那种,需要先通过前台拿到证书信息,然后再根据服务端开发文档进行获取信息。

加签:就是一个用证书加密的过程,就是将一条数据叫原文,通过算法,加密成复杂的数据,叫签名,然后保存到数据库;
加签是用专门的证书的加签的,不同的证书加的签是不一样的,加出来的签名如果经过修改是不能通过验签的。
加签是在前端进行,前端首先要识别插入的UKey,然后获取驱动(从浏览器缓存中获取,如果没有,就会弹出输入UKey密码的窗口)然后就可以对原文进行加签了。

验签:就是将签名还原成原文(可以获取加签证书的信息和原文),然后将这个原文和数据库中原来做加签的原文做对比,如果不一致,则说明原文被篡改,,这样数据传输就提高了安全性。
验签是在签名服务器(由厂家提供)进行(也可以在前端进行),可以验证签名证书的根证书是否是厂家的证书,可以获取原文和加签的证书信息。。。连接服务器的代码在厂家给的文档中,找到验签的方法,写在后台,,还有个配置文件,配置好服务器的端口和IP,这样写好后就可以测试了。

在开发测试过程中,一定要注意 算法!前期我们没注意,饶了很多弯路,不同的算法加签验签必须是统一的。加签用什么算法,验签也得用什么算法。否则验签就会不通过。不过,有的验签服务器两种算法都支持,看情况咯。我们用到两种算法SHA-1SHA-256。相比于SHA-1,SHA-256这个算法要更安全。
还有一个地方要特别注意,由于签名是在前台进行(页面),然后传到后台(服务端)进行保存,所以在传递时必须用post方法。不能采用get方法进行传值,因为get方法在传递过程中会处理一些特殊的字符,比如+会变成其他字符,这样也会导致验签不通过的!

    希望此篇能对您有帮助,谢谢
    做任何事一定要细心,做这一行,一个换行也要引起注意。算法的差异更要注意。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值