Windows平台上编译的开源软件libwebsockets自带的三个示例程序
在博客系列文章(https://blog.csdn.net/henter/article/details/89321544)中介绍了如何在Windows平台上编译开源软件libwebsockets(官网:https://libwebsockets.org/)自带的三个简单示例程序,这里把编译好的文件传上来。
内容包括:
1)libwebsockets在Windows平台上的编译的头文件和32位动态库文件;
2)32位OpenSSL-1.1.1-pre6版本的头文件和动态库文件;
3)32位的libwebsockets自带的三个示例程序:具备最基本功能的HTTP服务器,具备最基本功能的WebSocket服务器,具备最基本功能的WebSocket回传所收到消息服务器。
NIST随机数统计测试工具Windows版
使用Kravietz制作的修改版NIST Statistical Test Suite for Random and Pseudorandom Number Generators程序(来源:https://github.com/kravietz/nist-sts),在Windows下进行了编译,将编译出的名为assess.exe的可执行程序及相关的目录发布在这里。
《COM技术内幕——微软组件对象模型(Inside COM)》一书部分源码 for VS 2010
由 Dale Rogerson 撰写的《COM技术内幕——微软组件对象模型》(Inside COM)一书附带的源码适合在Visual C++ 6.0下编译,同样的源码拿到 Visual Studio 2010 下面进行编译,会报告很多错误。因此本人对源码中的错误进行了纠正,使得修改后的源码能够在 Visual Studio 2010 命令行下编译通过,获得的exe程序能够执行。将修改过的源码在这里发布一下,希望能对这本书的读者有所帮助。发布的源码中缺少书中第13章的源码,因为能找到的第13章 Tangram 的源码在编译时都报告缺少一些文件,始终无法编译通过。所以这里发布的源码是书中第2章至第12章的源码。VS 2010 下编译源码使用的命令、对原始源码所做的修改说明也随源码一起发布,详情见每一章源码目录下的“编译命令.txt”文件。
智能密码钥匙内部证书导出工具ExportCert
ExportCert是一个在Windows平台上使用的命令行工具程序,对于符合GM/T 0016-2012《智能密码钥匙密码应用接口规范》的智能密码钥匙,可以使用本工具导出其中包含的加密或签名证书。
智能密码钥匙查看器
智能密码钥匙查看器UkeyViewer是一个用C语言编写的命令行工具软件,针对符合我国密码行业标准 GM/T 0016-2012《智能密码钥匙密码应用接口规范》的智能密码钥匙。用户可以使用它来查看一个Ukey的设备名、包含的应用名、应用中的容器名、容器的类型。对该软件的介绍可以在博客:http://blog.csdn.net/henter/article/details/54883746 上看到。
在使用前,用户需要手动修改配置一下软件中的XML文件,在其中填入Ukey的驱动DLL文件名等信息,详情可查看软件中包含的说明。
C语言实现的SM2数字签名验证
在goldboar写的SM2签名及验签函数( http://download.csdn.net/detail/goldboar/3833072)的基础上,改写的一个纯粹用来做SM2签名验证的函数,编译时需要用到OpenSSL的头文件和库文件(libeay32.lib或libeay32.dll),与goldboar的程序区别如下:
1.仅用于做验签,不能签名;
2.验签使用外部传入的SM2公钥,SM2公钥以(x,y)坐标形式传入;
3.签名也是以(r,s)坐标形式传入;
4.增加了一些内存清理语句,内存泄漏有改善;
5.goldboar的程序中使用的ECC参数是示例参数,不是GM/T 0003.5-2012规范中定义的参数,这里的验签函数中采用的是规范中定义的参数。
6.将一些对椭圆曲线参数的验证操作放入 _DEBUG 宏限制的范围内。因为参数是规范推荐的,已经过验证,所以在程序中无需再验证。将这些验证语句放入 _DEBUG 宏限制的范围内以后,如果编译 release 版本时就不会包含这些验证语句,效率可以有一点提升。
SM2数字签名验证函数
在goldboar写的SM2签名及验签函数( http://download.csdn.net/detail/goldboar/3833072)的基础上,改写的一个纯粹用来做SM2签名验证的函数,编译时需要用到OpenSSL的头文件和库文件(libeay32.lib或libeay32.dll),与goldboar的程序区别如下:
1.仅用于做验签,不能签名;
2.验签使用外部传入的SM2公钥,SM2公钥以(x,y)坐标形式传入;
3.签名也是以(r,s)坐标形式传入;
4.增加了一些内存清理语句,内存泄漏有改善;
5.goldboar的程序中使用的ECC参数是示例参数,不是GM/T 0003.5-2012规范中定义的参数,这里的验签函数中采用的是规范中定义的参数。
6.将一些对椭圆曲线参数的验证操作放入 _DEBUG 宏限制的范围内。因为参数是规范推荐的,已经过验证,所以在程序中无需再验证。将这些验证语句放入 _DEBUG 宏限制的范围内以后,如果编译 release 版本时就不会包含这些验证语句,效率可以有一点提升。