- 博客(21)
- 资源 (22)
- 收藏
- 关注
原创 gmssl编程之X509证书解析
gmssl编程之X509证书解析引言X509语法结构基本项证书版本号证书序列号证书颁发者证书使用者证书有效期证书公钥扩展项基本约束密钥用途增强型密钥用途颁发者标识使用者标识CRL分发点颁发机构信息访问自定义私有扩展项引言最近空出了些时间整理了下以前的项目代码,看到了之前通过研究gmssl源码实现的一整套X509证书解析的代码,故记之以文。(PS. 可能实现主要是为了满足项目需求,若有不对之处,还请指针ヾ( ̄▽ ̄))下面小编列举了下X509证书结构的证书基本项(Basic Certificate Fi
2021-03-16 10:20:56 2089
原创 gmssl编程之签发X509证书
gmssl编程之签发证书前言命令行实现方式编程实现方式step1. 产生密钥对step2. 生成证书请求step3. 签发X509源代码前言最近由于项目需求,需要通过代码组装并签发标准X509格式数字证书。故而查询资料对gmssl/openssl中签发证书流程就行了一番研究,终于完成。先记录如下.命令行实现方式命令行方式下使用gmssl/openssl指令进行证书签发主要有三步:生成密钥对(私钥)、生成证书请求、签发证书。具体小伙伴们可参考小编这篇文章:Gmssl生成自签名证书编程实现方式同理
2021-03-12 10:26:33 2746 4
原创 堆栈大小不够导致的stack overflow问题分析
堆栈大小不够问题分析引出问题分析解决方案引出问题最近同事提供了一个dll库给我使用,写好测试代码,编译通过,运行时报出栈溢出错误分析既然vs提示stack overflow(栈溢出),那应该就是接口实现代码中的局部变量大小超过了vs编译器默认的堆栈空间大小。由于是前人(已离职人员)写的代码,同事亦称未改动此处接口代码…那好吧( ̄へ ̄),拿过源码…look…look主要查看接口代码中定义的局部变量(如数组变量、结构体变量等)。。。。。。(¬_¬)瞄由于代码中结构体定义较为复杂,那咱就先
2021-02-23 16:20:54 1093
原创 Gmssl编译参数项说明
gmssl编译参数前言编译参数全局选项算法选项其它选项前言最近在整理电脑上项目资料,发现之前编译过nogmapi的gmssl库,因此整理记录下,方便以后回忆。编译参数Gmssl的编译参数基本上与OpenSSL的一致,同时又新增了一些配置参数项。gmssl/openssl配置脚本与大多数典型的软件包不同,它有自己的一套规则。详细的安装信息位于源码树下的Configure脚本文件中,如下所示:Configure 脚本除了生成 Makefile 之外,还会根据 crypto/opensslconf.h
2021-02-01 11:13:31 1273
原创 Gmssl编程之TLS通信
Gmssl编程之TLS通信前言概述实现流程注意事项示例服务端客户端运行结果前言最近在整理电脑上项目工程时,发现之前用来测试gmtls通信编写的c/s测试代码。因此顺便整理了下,记录下来,方便以后回忆。概述进行SSL编程实现之前,我们肯定已经对SSL原理有了一定的了解。这里,小编也不再赘述。(尚不了解的可以参考这篇文章:SSL/TLS原理 详细整理版)实现流程原理理解的差不多了,就可以开始使用gmssl编程实现基于tls的socket通讯了(PS. gmssl中已经做了大部分事情了,我们只需要调用
2021-01-26 17:04:01 3431 3
原创 mongoose学习(一)Https通信
mongoose之Https通信前言配置opessl库开启SSL功能code前言上一篇文章记录了下使用mongoose进行http通信。本打算进一步进行https通信,奈何最终仅成功搭建了https服务器,可以通过浏览器https请求访问;但自己编写的https客户端却无法与服务器通信成功。(小编水平有限,还请谅解,先记录搭建https服务器的一些心得ヾ( ̄□ ̄;)ノ)配置opessl库配置HTTPS支持,需要使用OpenSSL库,当然也可以使用gmssl(因为gmssl可替代openssl)。但
2021-01-25 11:24:09 4021 9
原创 mongoose学习(一)Http通信
mongoose之Http通信mongoose简介服务端code说明客户端code说明功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入mongoose简介mongoose是C/ c++的一个网络库(https://github.
2021-01-21 14:23:00 4149 3
原创 SM2算法的加密签名消息语法规范(五)如何构造signedAndEnvelopedData
前面的文章中已经介绍了国密规范中的带签名的数字信封数据signedAndEnvelopedData类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/1、构造流程根据RFC规范,在结合GM/T 0010规范的要求,带签名的数字信封由任意类型的加密内容、加了密的一个/多个接收者的内容加密密钥和一个/多个签名者的签名组成。其生成过程如下: a. 发送方随机产生一个对应于特定加密算法的内容加密密钥(即会话密钥)。 b. 发送方将内容加密密钥用每个接收者的公钥加密。(算...
2021-01-14 09:26:20 2965 3
原创 SM2算法的加密签名消息语法规范(四)如何构造envelopedData
前面的文章中已经介绍了国密规范中的数字信封数据envelopedData类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/1、构造流程根据RFC规范,在结合GM/T 0010规范的要求,构造数字信封数据的过程如下: a. 产生一个对应于特定加密算法的内容加密密钥(即会话密钥或对称密钥); b. 将内容加密密钥用每个接收者的公钥加密。(算法为:sm2-3 公钥加密算法 OID:1.2.156.10197.1.301.3) c. 对于每一个接收者,把加了密...
2021-01-13 17:39:18 3041 4
原创 SM2算法的加密签名消息语法规范(三)如何构造signedData
前面的文章中已经介绍了国密规范中的签名数据signedDatal类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/1、构造流程GM/T0010规范中签名数据类型结构定义与RFC规范中一致。根据RFC规范,构造签名数据的过程涉及到以下步骤: a. 对于每个签名者,他用消息摘要算法计算出摘要值;(对于GM/T 0010规范,使用摘要算法为SGD_SM3) b. 对于每一个签名者,消息摘要和相关的信息用自己的私钥加密(即签名);(对于GM/T 0010规范,使用S...
2021-01-13 15:27:06 4476
原创 SM2算法的加密签名消息语法规范(二)如何构造
前面的文章中已经介绍了国密规范中的签名数据signedDatal类型。接下来讲一下怎么构造出这种类型的数据~~\( ̄︶ ̄)/既然是要构造国密规范的消息语法数据类型,那当然要用到gmssl库咯。(GmSSL项目是OpenSSL项目的分支,并与OpenSSL保持接口兼容。因此GmSSL可以替代应用中的OpenSSL组件,并使应用自动具备基于国密的安全能力。)我们知道openssl中是已实现了RFC规范中的各种类型数据的定义。这些定义在gmssl中同样存在。从之前的文章我们了解到国密规范的消息语法类型与.
2021-01-13 11:07:20 3254 2
原创 SM2算法的加密签名消息语法规范(一)介绍
由于最近项目中需要根据国家密码局的规范(GM/T 0010)实现SM2密码算法加密签名消息数据的封装,花了些时间进行了下研究,现属文以记之~(^_−)☆ 接下来先介绍sm2算法的消息语法规范,至于具体如何通过gmssl库去实现消息数据的封装,小编将在之后的文章中逐一讲解。OK, 进入正题~首先我们知道PKCS#7中规定了6种数据内容:明文数据(Data)、签名数据(Signed-data),数字信封数据(Enveloped-data),带签名的数字信封数据(Signed-and-envelop...
2021-01-12 15:08:44 8084 2
原创 OCSP介绍以及使用OpenSSL编程实现
首先我们知道在PKI体系中,证书的生命周期如下所示,对于一个可信任的 CA 机构颁发的有效证书,在证书到期之前,只要 CA 没有把其吊销,那么这个证书就是有效可信任的。有时,由于某些特殊原因(比如私钥泄漏,证书信息有误,CA 有漏洞被黑客利用,颁发了其他域名的证书等等),需要吊销某些证书。那浏览器或者客户端如何知道当前使用的证书已经被吊销了呢?为解决对CA证书有效性方面的查询,PKI引入了CRL(Certificate Revocation List)和OCSP(Online Certificate
2020-10-15 14:24:10 4314 8
原创 VS2013通过MySQL ConnectorC++操作数据库
最近项目中需要连接和操作mysql数据库,所以研究了下c++连接mysql数据库的方法。C++连接mysql数据库的方式有很多,1)使用mysql API连接;2)通过ADO连接;3)通过MySQL官方提供的MySQL Connector/C++连接。小编由于使用的是c++编程环境,且在MySQL官网提供的Connectors中发现了MySQL Connector/C++(认为官网提供的应该比较靠谱)。所以选择了MySQL Connector/C++方式连接数据库。MySQL Connecto.
2020-10-13 16:53:11 547
原创 VS2013编译libcurl(支持https)
之前小编介绍过通过Visual Studio Tools编译libcurl的方法(:https://blog.csdn.net/lt4959/article/details/96475906),最近项目中需要使用到https通信,发现之前编译的libcurl库并不支持https。查阅资料发现原来libcurl默认的编译配置是未开启ssl支持的,所以需要重新配置并编译。怎么编译支持https的libcurl呢? ((((((((((((っ•ω•)っ Σ(σ`•ω•´)σ 起飞!)方法1:执行下面的
2020-10-09 14:13:16 720
原创 VS2013编译boost_1_58_0详细步骤
1、从boost官网上(https://www.boost.org/users/download/)下载源码包,解压。小编使用的是boost_1_58_0版本,想使用此版本的可以从这里获取(链接:https://pan.baidu.com/s/1v5KHLSYjtBeXIFoZlSExpA提取码:zxf8)Ψ( ̄∀ ̄)Ψ2、用管理员身份打开vs2013的开发人员命令提示,如图所示若要编译64位boost库请选择“VS2013 x64兼容工具命令提示”并管理员身份打开。3...
2020-10-09 11:14:23 726
原创 vs2013编译libevent静态库
获取源码从Libevent官网主页(http://libevent.org/)或者github上(https://github.com/libevent/libevent)将libevent源码包下载下来。这里我们下载了libevent-2.0.20-stable.zip版本,解压后得到libevent-2.0.20-stable文件夹。编译静态库x86打开VS2013开发命令...
2020-04-08 10:00:21 414
原创 VS2013(通过Visual Studio Tools)编译libcurl库
参考: https://blog.csdn.net/cym1990/article/details/79851039编译从https://github.com/curl/curl下载源码,这里我们选择的是curl-7_65_2; 进入到下载的源码文件夹中,双击buildconf.bat文件运行; 进入curl文件夹中的“winbuild”文件夹,并复制其文件夹路径,例如:E:\xxxx...
2019-07-19 11:10:05 632
原创 GmSSL生成自签名证书
环境:ubuntu版本:GmSSL 2.4.2 - OpenSSL 1.1.0d 19 Dec 20181. 编译安装GmSSL先解压GmSSL-master.zip;然后进入解压出来的GmSSL-master目录;再通过以下指令进行编译安装:./configmakemake install注意(Θ0Θ●) :这里不配置--prefix等(即不指定编译及安装的...
2019-01-11 16:30:33 3685
原创 在VS2013下编译Gmssl库
使用版本:GmSSL 2.4.0 + VS2013GmSSL官方文档里面,windows下编译和安装说明的非常简单,三行命令即可搞定。但是往往是理想很丰满,现实很骨感-_-||,下面总结自己在windows下编译GmSSL的过程。(。_ 。)1. 下载GmSSL源码、ActivePerl和Visual Studio 2013以及Nasm按用户手册描述,在Window...
2019-01-07 09:17:38 3282 15
原创 Qt中mouseMoveEvent在MainWindow中使用
最近用Qt软件界面,需要用到mouseMoveEvent,研究了下,发现些问题,分享一下。在Qt中要捕捉鼠标移动事件需要重写MouseMoveEvent,但是MouseMoveEvent为了不太耗资源在默认状态下是要鼠标按下才能捕捉到。要想鼠标不按下时的移动也能捕捉到,需要setMouseTracking(true)。boolmouseTracking这个属性...
2013-10-09 11:23:41 2084
Xshell_Bitvise Tunnelier.zip
2019-05-10
sourceInsight4096安装包及破解包.zip
2019-05-10
Balsamiq_Mockups界面原型设计软件
2018-11-26
editpus格式化xml文档
2017-09-21
效能桌面便签
2013-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人