自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 python2.7实现https双向认证

python2.7 urllib2实现https双向认证客户端

2023-12-19 10:21:48 435 1

原创 主流IOT设备接入客户端SDK对比【2017】

针对网关设备,京东微联规定了网关设备的部分行为、定义了网关设备需要实现的接口函数。机智云称网关设备为中控网关。京东微联支持网关设备。

2023-10-08 20:12:16 127 1

原创 机智云GAgent源码(Linux版本)笔记

main()

2023-10-08 20:02:43 198 1

原创 MQTT-SN协议笔记

MQTT-SN:MQTT For sensor network,针对不支持tcp协议的、低速、低功耗的无线传感器网络的定制版MQTT协议。针对无线传感器网络(WSN)与广域网之间的融合而产生的协议。无线传感器网络的特点:(1)网络节点(多为传感装置,简写为SA)量很大(2)网络节点资源受限,包括存储资源和电量储备(电池驱动)(3)网络带宽小,低至约1.2KB/s;底层协议帧(物理帧)长度小,如802.15.4物理帧长度上限为128个byte。

2023-10-08 19:52:21 358 1

原创 ubuntu1404 python2.7.6升级到2.7.9

由于要使用TLSv1.2,而2.7.9才支持这一特性,所以需要对python进行升级。

2023-06-27 14:30:43 95 1

原创 c语言调用openssl对内存中的pem私钥加密

openssl 加密rsa私钥

2022-11-10 20:31:05 616

原创 CCSA EE-SCMS接口ASN数据结构示意

CCSA SCMS 标准,EE-SCMS交互接口ASN数据结构示意

2022-05-20 21:54:22 341

原创 《编程精粹-Writing Clean Code》编码检查表摘录

《编程精粹-Writing Clean Code》编码检查表摘录

2022-05-18 14:16:18 141

原创 蒙哥马利模乘算法简介

蒙哥马利模乘算法标签(空格分隔): 蒙哥马利模乘解决的问题:快速求解大整数的模乘: 已知x<N,y<N,求xymod  N已知 x < N, y < N,求xy \mod N已知x<N,y<N,求xymodN推荐博客维基百科:https://en.wikipedia.org/wiki/Montgomery_modular_multiplicationcsdn: https://blog.csdn.net/zgzczzw/article/details/5

2021-12-15 00:02:38 7171 4

原创 nodejs https报错排查[ Trust anchor for certification path not found ]

最近同事用nodejs和android通过grpc连接服务端,传输层开启了https双向认证,连接时报错: Status{code=UNAVAILABLE, description=null, cause=javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.google之后,大部分给的原因都是服务

2021-12-13 10:44:57 2678

原创 brofield / simpleini小记

今日需要在C++中解析ini格式的配置文件,搜索了一下,在github上找到了一个stars较多的开源实现 https://github.com/brofield/simpleini/tree/master。网络上有一些介绍该开源实现的各API功能的文章,本文仅作为一个补充。集成这个开源实现的集成方法很简单,只需要包含一个头文件即可。语言标准该开源实现的头文件采用了c++11的语法,看了下,也只是一个std::next方法,如果自己的代码用的C++标准版本低于11,也只需要patch一下std::

2021-11-22 17:28:47 289 1

原创 openssl常用命令

openssl常用命令标签(空格分隔): openssl生成2048bit的rsa私钥:openssl genrsa -out key.key 2048生成csropenssl req -new -nodes -sha256 -key key.key -out cert.csr -subj "/O=xx/C=xx/CN=xx/OU=xx/"自签发证书示例:openssl genrsa -out ca.key 2048openssl req -x509 -new -nodes

2021-11-09 11:33:17 303

原创 SCMS中的链接值算法(CCSA版本)

背景为了以最小的空间开销实现PC证书的撤销,SCMS采用了链接值算法来生成PC证书中的CN字段:用一个种子ls(0)ls(0)ls(0)扩展生成某设备指定周期iii的链接值种子ls(i)ls(i)ls(i),在使用该种子生成周期iii内JJJ个链接值,这JJJ个链接值作为设备在第iii周期内的JJJ张假名证书的CN字段。当要吊销该设备的第iii周期及之后的所有PC时,只需要在CRL中添加该设备的lv(i)lv(i)lv(i)即可。本文简述链接值算法。具体过程记la_idla\_idla_id

2021-11-08 14:56:25 626

原创 SCMS中的蝴蝶密钥扩展算法(CCSA版本)

前言在SCMS中提到了蝴蝶密钥扩展算法,用于为车辆持续生成PC证书。中国的CCSA标准《基于LTE的车联网无锡啊是你通信技术 安全证书管理系统技术要求》也采用了相同的算法,本文以CCSA的标准为准,简要记录。背景在V2X通信过程中,为了保证V2X消息的来源可信、内容可信,会由SCMS为车辆和路侧识设备颁发证书。其中给车辆颁发的是假名证书(PC)。为了保护车辆的位置隐私,假名证书的有效期很短(比如一周),同时每周内为同一辆车会颁发多张假名证书(比如20张)。传统的PKI体系中,证书的创建流程:(1)

2021-11-08 11:57:19 3217

原创 openssl从内存加载证书、私钥、证书链

概述在使用openssl建立ssl/tls连接时,需要加载对端的证书链,自己的证书以及私钥。本文主要描述如何从文件以及内存中加载通信对端的证书链、自己的证书以及私钥(RSA证书和ECC证书通用)。PS:为什么要从内存中加载私钥?私钥是要求安全存储的,通常是存储到软的密钥存储或者专用的安全硬件中,不会明文落盘,所以应用是无法从磁盘上读取到明文的私钥文件的。1.加载证书链加载证书链有三种方式:(1)指定证书链所在的文件夹路径(2)指定证书链文件(把证书链cat 到一个文件内)(3)从内存中加载证书链。

2021-09-16 13:07:20 4532 3

原创 由于对CMake掌握不熟导致的多重符号问题

由于对CMake掌握不熟导致的多重符号问题问题描述原因解决问题描述1.程序结构: a.bin依赖于动态库d.so,d.so编译时依赖于一堆的.a(s1.a, s2.a, s3.a …)。2. 对于d.so,使用了-Wl,--version-script,将接口以外的其他符号全部隐藏(变为LOCAL属性)3. 在a.bin中调用d.so的一个接口函数,接口函数中初始化了一个类的静态成员变量(一个字符串),记为_s_var;4. 在d.so中,许多模块(s1.a, s2.a, s3.a。。。)都是用了

2021-03-26 19:10:48 632

原创 ESP8266 mqtt 通过tls单向认证连接到mosquitto mqtt broker

ESP8266 mqtt 通过tls单向认证连接到mosquitto mqtt broker标签(空格分隔): mqtt esp8266 tls mosquitto 单向认证最近需要使用esp8266作为mqtt client,broker暂时使用mosquitto mqtt在linux上运行。连接采用tls加密,client单向认证server。该过程有一些问题需要注意,在此列出。

2017-05-09 13:56:43 4512

原创 初探Linux下的时间函数 以及 NTP得到的值

通用时间分为:GMT格林尼治时间,UTC统一协调时间,DST夏日节约时间,CST时间,以及本地时间Localtime。 UTC时间基本可以认为等同GMT时间(更加精准),都是本初子午线的时间。而Localtime是在UTC时间基础上加上时区与本初子午线的时间差得到的时间。 对于Linux,又分为系统时间和硬件时钟。更改了系统时间,还要通过命令写入硬件时钟。 Linux下的时钟相关函数如下:

2016-10-11 17:12:55 1763

原创 Linux编译时,引用.mk中的预定义宏

在contiki下编译工程时,一个源文件使用了定义在.mk文件中的预定义宏,但是在编译时报错,错误为该预定义宏未定义。 经过多方查找调试,发现该问题原因如下: 虽然makefile中有 include **.mk语句,但是还不够,还需要在CFLAG中添加引用的预定义宏的名称。一般在.mk中,会定义一堆预定义宏,然后在文件末尾添加MYMAKE_OPTIONS = -DMACRO_X=$(MA

2016-09-21 16:32:28 2095

原创 HF集成AirKiss、微信局域网控制

1.用HF提供的集成了AirKiss、微信局域网控制功能的库kernel.lib替换自己的工程的kernel.lib(sdk/libs/..)    2.在hfnet.h头文件中添加微信配网及局域网控制相关的函数声明    3.将例子工程中微信控制相关的代码添加到自己的工程中(通常在main函数中)    4.编译

2016-06-23 10:32:21 1192

原创 通过web升级HF wifi固件

1.wifi模块上电    2.按配网键触发wifi模块进入配网状态    3.用app对wifi模块进行配网,是wifi模块连接上路由器    4.通过pc访问路由器,根据wifi模块的MAC地址找到wifi模块的IP地址    5.通过PC在web中访问wifi模块的IP地址    6.在界面中点击软件升级,选择需要升级的bin文件,升级即可

2016-06-22 20:28:42 824

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除