调用API中关联的证书问题
我们在调用API时,会涉及到证书问题,这个是最麻烦的,他会将我们请求的数据进行各种加密,这个加密过程中往往加了时间戳、加密证书和公钥证书等一些数据在里面,还有加密的顺序等等,更恶心的还会将加密前的数据进行一次或多次加密,要多猥琐就有多猥琐,最终的请求中还使用了前面证书对数据进行签名,数据即使被别有用心的人拿到了,他不知道加密的顺序和加密的方法,还有证书的话,即使拿到了也没有用。
先跟大家讲解一下这个证书
证书一般来说有两个,一个是签名证书sign.pfx,另一个是加密证书enc.cer,看后缀就可分别
一般来说,这两个证书都是提供API接口的公司给的,签名证书是我们自己的,这个签名证书是根据我们这边的数据生成的
签名证书都有一个密码,这个密码是我们从ie中导出时设置的,或者是对方直接给的我们。
签名证书
得到证书的路径和密码,通过这两个值来得到
列:
p12 = crypto.load_pkcs12(open(sign_cert_file_path, 'rb').read(), pwd) 读取证书路径及密码
p12.get_certificate() # (signed) certificate object 声明证书对象
p12.get_privatekey() # private key. 声明私钥
p12.get_ca_certificates() # ca chain. 声明证书为中国证书
return p12 将这个对象返回
有这个对象后
可以得到
证书ID:str(sign_cert.get_certificate().get_serial_number()) 这个值一定要强转为str类型,不转的话最后面会多个L
私钥 p12.get_privatekey()
加密证书
读取加密证书
with open(encrypt_cert_file_path, 'rb') as f:
public = f.read()
try:
cert = load_pem_x509_certificate(public, backend=default_backend()) load_der_x509_certificate生成公钥私钥对
return cert
返回的这个值可以得到:
公钥:
cert.public_key()
证书ID:
str(cert.serial_number)
等等一系列参数
每个证书都有唯一的ID
调用API中关联的证书问题相关推荐
- 12月14日:跟着猫叔写代码api中的增删改查
首先在数据库中建立一个学生成绩信息表 DROP TABLE IF EXISTS `bro_ceshiapi`; CREATE TABLE `bro_ceshiapi` (`id` int(11) un ...
- C/C++中调用api设置mysql连接的编码方式
MySQL在C/C++中调用api设置连接mysql的编码方式有以下几种方法: 1. mysqli_set_charset 调用示例: [cpp] view plain copy ret = mysq ...
- [小白向]Python使用request库调用API并获取返回的JSON数据包中的内容
目录 对于参数可以直接写入链接中的接口(适用于参数较少时) 对于参数需要使用字典进行携带的接口(适用于请求头中参数较多时) 本文介绍了使用GET的方式调用API的方式,如需要使用POST方式,将代码中 ...
- python中调用API的几种方式
python中调用API的几种方式: urllib2 httplib2 pycurl requests urllib2 import urllib2, urllib github_url ='http ...
- Android中调用API实现查询身份证信息
要实现这个功能,首先就要知道如何通过Http协议访问网络,向网络发送请求,其次了解如何解析JSON或者XML文件. 1.我的身份证查询接口是在聚合数据申请的,完成认证后,你会得到一个KEY,这在之后会 ...
- E5 调用API续订服务:Microsoft 365 E5 Renew X
Microsoft 365 E5 Renew X Microsoft 365 E5 Renew X是一款网页版的E5续订服务,其依赖网页浏览器呈现支持用户多端操作,完全将E5账户API调用托管在了服务 ...
- Java Persistence API中的FetchType LAZY和EAGER之间的区别?
我是Java Persistence API和Hibernate的新手. Java Persistence API中的FetchType.LAZY和FetchType.EAGER什么区别? #1楼 我 ...
- [转]c#调用API截图
转自http://blog.csdn.net/hailiannanhai/article/details/6281471 要想完成这个功能,首先要了解一下在C#中如何调用API(应用程序接口)函数.虽 ...
- api中重载函数的原理_小心重载API方法
api中重载函数的原理 重载方法是API设计中的一个重要概念,尤其是当您的API是流利的API或DSL( 特定于域的语言 )时. 对于jOOQ就是这种情况,在这种情况下,您经常想使用与完全相同的方法名 ...
最新文章
- Module ‘celery‘ has no attribute ‘celery‘问题
- 11年架构AI技术江湖,李彦宏:1块钱还是100亿,都会投进技术里
- xpath的数据和节点类型以及XPath中节点匹配的基本方法
- filebeat Template 报错(安装的时候遇到错误了用这个方法解决的)
- Unity 3D网络游戏实战 pdf
- vue获取本地php数据,Vue-cli项目获取本地json文件数据的实例
- 64测试cpu稳定性_SuperPI-圆周率计算与CPU性能与稳定性测试
- 拒绝职场危机,程序员最核心的竞争力是什么?
- 神秘的中国超级计算机:比肩高铁的世界级领先
- Java网络编程——Socket
- 快速将 gif 图转成 jpg 图片
- LightOJ1220 —— 质因数分解
- 车牌识别、证件识别、汽车VIN识别在汽车服务门店中的实际应用
- linux下载ccle数据,对CCLE数据库可以做的分析--转载
- 小米路由器3G建站折腾笔记6 - 总结
- 农历php,PHP阴历转农历的实现代码
- 2011考研数学二第(11)题——第一类曲线积分球弧长
- 上市早不如巧,深度剖析嘉楠“两个第一”的内涵
- P2465 [SDOI2008]山贼集团 dp
- 微软云计算的六大优势
热门文章
- E-learning课件制作总结
- 良精cms php版漏洞,南方数据、良精系统、网软天下漏洞利用
- 自己动手实现DNS协议
- typora引用HTML自动隐藏了,typora的一些使用
- 了解常见 SQL 查询优化技巧
- Android富文本开发,从0到1!
- sota和fota区别_OTA还分FOTA和SOTA?前者才是真的“智能汽车”
- 2022年windows10系统官方下载安装教程
- 园区网络安全设计——核心层
- 医学类职业适应性测试题用哪个软件,职业适应性测试题库 性格职业适应性测试.doc...