自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (7)
  • 收藏
  • 关注

原创 适用于Windows平台的录屏软件Captura简介

本文对Windows平台上的录屏软件Captura进行了简单介绍。

2022-07-30 13:06:27 3436 2

原创 在Oracle VirtualBox中导入Kali Linux官方制作的虚拟机

本文中介绍了如何在 Oracle VirtualBox 中导入 Kali Linux 官方制作的虚拟机。

2022-07-24 21:56:38 1152

原创 将Kali Linux安装到优盘并实现文件的持久存储(3)

本文介绍了将Kali Linux安装到优盘,并实现文件的持久存储的方法。

2022-07-18 16:26:25 3006 10

原创 将Kali Linux安装到优盘并实现文件的持久存储(2)

本文介绍了将Kali Linux安装到优盘,并实现文件的持久存储的方法。

2022-07-18 15:59:15 2069

原创 将Kali Linux安装到优盘并实现文件的持久存储(1)

本文介绍了将Kali Linux安装到优盘,并实现文件的持久存储的方法。

2022-07-18 15:23:47 2398 3

原创 在 CentOS 7 Linux 平台上编译 OpenSSL 3.0.0

本文介绍了在 CentOS 7 Linux平台上编译 OpenSSL 3.0.0的方法和过程。

2021-11-30 17:21:22 3482 3

原创 为 Oracle VM VirtualBox 虚拟机软件安装扩展包

本文介绍了为 Oracle VM VirtualBox 6.1.30版安装扩展包的方法。

2021-11-30 16:15:25 15502 12

原创 OpenSSL 1.1.1 系列中的 SM2 解密缓冲区溢出漏洞 CVE-2021-3711 介绍

OpenSSL 维护者在2021年8月24日发布了安全提示,披露了代号为 CVE-2021-3711 和 CVE-2021-3712 的两个漏洞。其中CVE-2021-3711 的问题来自 SM2 解密缓冲区溢出,该漏洞存在于 OpenSSL 1.1.1 系列中 1.1.1k 及之前的版本,在8月12日由 John Ouyang 报告,现在已经由 Matt Caswell 修复,OpenSSL 维护者建议使用 OpenSSL 1.1.1 系列的用户尽快升级到 1.1.1l (注意l是字母L的小写形式...

2021-08-29 21:38:33 4131

原创 令 Kali Linux 虚拟机映像在 VirtualBox 中加载运行后能够全屏显示的方法

在Kali Linux 官网( https://www.kali.org/ )上提供制作好的 Kali 虚拟机映像文件,将其下载后可以在虚拟机软件上直接加载运行。本文中使用 VirtualBox 6.1.22, 下载的映像文件名是 kali-linux-2020.3-vmware-amd64.7z,虽然文件名中有 vmware 字样,但是 VMware 和 VirtualBox 虚拟机软件都可以加载它(最新官网有更新,针对 VMware和 VirtualBox 分别提供不同的映像文件)。 在...

2021-07-17 22:55:54 1368 1

原创 在 64 位 Win10 上使用 VS 2019 编译 OpenSSL 3.0.0 alpha6

在 2020 年 8 月 6 日,OpenSSL 官网上发布了 OpenSSL 3.0.0 alpha6 测试版。本文介绍一下在 64 位 Win10 上使用 Visual Studio Community 2019 编译它的过程:1)到 OpenSSL 官网下载 openssl-3.0.0-alpha6.tar.gz 文件并解压缩,在 NOTES-Windows.txt 文件中介绍了在 Windows 平台上的编译方法;2)到 http://strawberryperl.com 网站...

2020-09-28 21:46:22 2327 4

原创 OpenSSL 3.0 简介(4)

先介绍一些概念:库上下文(Library Context) 库上下文是一个在 OpenSSL 3.0 版源码中定义的不透明的结构体,在其内部保存全局性的数据。当前对这个结构体的使用,仅限于用来保存核心用到的全局数据,将来可能会做扩展,将其他存在的全局数据也放进去。一个应用程序可以创建和销毁一个或多个供核心使用的库上下文。如果应用程序不创建库上下文,这时一个内部默认的库上下文将被使用。 创建和销毁库上下文的函数分别是:OPENSSL_CTX *OPENS...

2020-06-16 23:27:15 1873

原创 OpenSSL 3.0 简介(3)

OpenSSL 3.0 版的构成如下图所示: 从图中可以看出,OpenSSL 包含以下组成部分:应用(例如具有证书颁发功能的 CA)、常见服务(包括:X.509 证书创建与解析、ASN.1 编解码、BIO、EVP 等)、协议实现(包括 TLS、DTLS、TS(时间戳)、OCSP 等)、核心及多个提供者(一般包含四个提供者:默认提供者、FIPS 提供者、引擎提供者、遗留提供者。第三方可以自行实现更多的提供者)。 为了编译和安装 OpenSSL 3.0,应参考...

2020-06-16 22:06:26 3965

原创 OpenSSL 3.0 简介(2)

以下概念来自 FIPS 140 标准:1)POST (Power On Self Test),即“上电自检”;2)KAT (Known Answer Tests),即“已知答案测试”,是指在输入和对应的输出值已知的情况下,检查一个程序在获得输入固定值后,输出值是否与已知的对比值一致;3)CSP (Critical Security Parameters),即“关键安全参数”,例如密钥就属于CSP;4)State Machine,即“状态机”。 OpenSSL 中引入...

2020-06-15 23:11:26 2479

原创 OpenSSL 3.0 简介(1)

注:尽管OpenSSL 3.0 版的设计原则说明文档(https://www.openssl.org/docs/OpenSSL300Design.html)写得比较晦涩,但还是建议有条件的读者去仔细阅读它。本文提供了一个针对该文档的比较模糊的讲述,目的是让读者能对它有一个粗略的了解。在2020年4月23日,OpenSSL管理委员会和OpenSSL技术委员会发布了OpenSSL 3.0 Alpha1 版本,Alpha 1版本包含基本的功能加上基本的FIPS(Federal Information Proc

2020-06-15 21:03:20 8728

原创 Compute SM2 encryption and decryption by invoking EVP interface in OpenSSL 1.1.1

How to compute SM2 signature and verify it is introduced in the previous article. In this post a demo of performing SM2 encryption and decryption is provided:/**********************************...

2020-05-01 22:16:37 2105 9

原创 Compute SM2 signature and verify it by invoking EVP interface in OpenSSL 1.1.1

SM2 algorithm is supported in OpenSSL 1.1.1. A rough introduction on SM2 operation is given in: https://www.openssl.org/docs/manmaster/man7/SM2.html . But it is not sufficient for learners to ...

2020-04-27 23:33:52 2748 35

原创 记录 Windows 下编译一个开源 SM9 签名验签 C 程序的过程

注:本文不讨论算法具体实现细节,只介绍如何编译一个现有的程序实现。 在商用密码检测中心( 链接:http://www.scctc.org.cn/index.aspx )的网站上,“下载中心” -> “算法源代码”网页( 链接:http://www.scctc.org.cn/templates/Download/index.aspx?nodeid=71 )上发布了国密 SM9...

2020-02-15 23:48:55 3965 22

原创 使用 OpenSSL 命令行进行 ECC 签名及验签

首先查看一下 OpenSSL 内建了哪些椭圆曲线,使用命令为:openssl ecparam -list_curves 选择一条椭圆曲线创建 ECC 公私钥对,这里使用 secp256k1,执行命令:openssl ecparam -name secp256k1 -genkey -out ec.key 可以用文本编辑器打开 ec.key 文件...

2019-12-29 22:49:52 10819 14

原创 使用 VS 2019 编译开源软件 MIRACL (3)

这里将演示如何链接编译好的 MIRACL 32 位静态库,编译并运行一个自带的示例程序 brent.c,该示例程序的功能是做整数分解运算。 新建子目录 D:\tmp\brent ,然后启动 VS 2019, 创建新项目。此时创建一个空项目,如下图: 项目名称和路径的设置如下图: 将 D:\tmp\MIRACL\sou...

2019-12-18 23:32:25 1749 3

原创 使用 VS 2019 编译开源软件 MIRACL (2)

启动VS 2019,选择“创建新项目”,然后在创建新项目类型列表中,选择“静态库”,如下图: 在“配置新项目”弹出窗口中,将项目名称设为 miracl_x86 ,设置项目保存位置,点击“创建”按钮。如下图: VS 2019会自动为用户生成 miracle_x86.cpp 和 pch.cpp 两个文件,将这两个文件移除。如下图:...

2019-12-18 23:25:25 1908

原创 使用 VS 2019 编译开源软件 MIRACL (1)

Cryptographic SDK 是一个开源的密码学和多精度整数及有理数运算软件,开发语言为ANSI C。它在Github 上的链接是:https://github.com/miracl/MIRACL 。注意如果用于商业用途,需要向开发方购买许可证。本文将介绍如何将其源码编译为库文件,这里使用的操作系统是 64位 Windows 10,编译工具是 Visual Studio...

2019-12-18 23:04:51 3076

原创 在 64 位 Win10 上使用 VS 2019 编译 OpenSSL-1.1.1d

到 OpenSSL 官网 https://www.openssl.org/ 下载 openssl-1.1.1d.tar.gz ,本文中将该压缩文件中 openssl-1.1.1d 子目录中所有的文件解压到 d:\OpenSSL\openssl-1.1.1d 路径下。 编译 OpenSSL 源代码需要用到 C 语言编译器、Perl 语言解释器、汇编编译器,前两项是必选...

2019-11-22 22:13:47 7242 10

原创 介绍一个 Windows 平台上的开源工具软件 ASN.1 Editor

在 Windows 平台上以前一直使用 ASN1 VIEW 工具软件查看 ASN.1 编码数据,其界面如下: 现在在网上又找到了另一个类似的工具软件 ASN.1 Editor,该软件的功能包括:显示、编辑、格式化及转换 ASN.1 编码格式的数据,使用它的前提是用户计算机上已经安装了 .NET Framework 4.5。该软件的发布网站是:https://w...

2019-11-13 21:35:51 8218 5

原创 使用 OpenSSL 对 Octet String 类型数据进行 ASN.1 编码和解码

在 ASN.1 编码规则中,对于 Octet String 类型数据编码的方式是比较简单的,编码结果由三部分级联组成,如下图: 其中标志位取值为0x4,负载部分的值就是原始的 Octet String 数据。 调用 OpenSSL 对 Octet String 类型数据进行 ASN.1 编码和解码,应使用 i2d_ASN1_OCTET_STRIN...

2019-10-31 20:43:42 4723 3

原创 发布一个NIST SP 800-22 Test Suite随机性检测工具的修改版

NIST 发布过一个编号为 SP 800-22 rev1a、名为 《A Statistical Test Suite for the Validation of Random Number Generators and Pseudo Random Number Generators for Cryptographic Application》的文档,在其中介绍了 15 种检测随机性...

2019-09-15 23:14:04 4235

原创 在 Win7 下安装 KB4512506 补丁报告 0x80092004 错误的解决办法

在 2019 年 8 月 13 日,微软公司披露了两个远程桌面服务中存在的远程代码执行安全漏洞,编号分别为 CVE-2019-1181 和 CVE-2019-1182。相关网址是:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1181https://portal.m...

2019-08-18 22:35:32 22499 10

原创 使用 OpenSSL 时一定要注意不同版本之间的差异

OpenSSL 常见的一些版本及受支持情况如下表所示:OpenSSL版本 官方支持情况 0.9.8 系列 不再支持 1.0.0 系列 不再支持 1.0.1 系列 不再支持 1.0.2 系列 将被支持到 2019 年 12 月 31 日 1.1.0 系列 只做安全修复,到 2019 年 9 月 11 日停止支持 1.1....

2019-08-08 23:23:11 28981 3

原创 Windows 下使用 OpenSSL 命令行创建包含 subjectAltName 扩展项的数字证书

1. CA 的基本原理简介(了解相关背景知识的读者请跳过这一部分) 我们回想一下在生活中,两个以前从未谋面的人如何核实对方的身份。由于每一个公民都有派出所颁发的身份证,两个人只要通过查看对方的身份证,就可以大体上知道对方是谁。这个验证身份的过程如下图: 在互联网上,识别陌生实体的思路与上述过程类似。首先建立一个有公信力的认证机构 CA(即Certificate...

2019-07-28 23:57:29 4942

原创 介绍一下 X.509 数字证书中的扩展项 subjectAltName

在 RFC 5280《Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile》中定义了 X.509 公钥数字证书和证书撤销列表的内容和格式。 在 X.509 编码格式的数字证书中,使用 Issuer 子项标明证书的颁发者,I...

2019-06-09 12:23:43 15757

原创 介绍一种门限SM2密码方案

中科院信息工程研究所的科研人员林璟锵、马原、荆继武等设计了一种 SM2 门限密码算法实现方案,他们在 2014 年 8 月向国家知识产权局提交了专利申请,名称是《适用于云计算的基于SM2算法的签名及解密方法和系统》,授权公告号是:CN 104243456 B,该专利的内容已在国家知识产权局的网站上公开,可以在网站 http://epub.sipo.gov.cn/ 上查到。...

2019-06-07 09:57:20 7849 8

原创 Compile, link and execute some simple demos of libwebsockets 3.1 with VS 2010 on Windows 7 (3)

Example 3: minimal websocket echo server A minimal websocket echo server demo is put intothe directory 'minimal-examples\ws-server\minimal-ws-server-echo'. Create a subfolder 'minimal-ws-s...

2019-04-15 22:55:42 800

原创 Compile, link and execute some simple demos of libwebsockets 3.1 with VS 2010 on Windows 7 (2)

Example 2: minimal websocket server A minimal websocket server demo is put into the directory 'minimal-examples\ws-server\minimal-ws-server'. Create a subfolder 'minimal-ws-server' below t...

2019-04-15 22:39:30 708

原创 Compile, link and execute some simple demos of libwebsockets 3.1 with VS 2010 on Windows 7 (1)

In the series of posts (web page: https://blog.csdn.net/henter/article/details/88937980), how to build libwebsockets 3.1 library with VS 2010 on Windows 7 is introduced.Many examples are provided...

2019-04-15 22:08:24 948 1

原创 Build libraries of libwebsockets 3.1 with Visual Studio 2010 on 64-bit Windows 7 (3)

When the libraries of libwebsockets 3.1 are built, some demo programs are built all together. They are shown as below: The purpose of 'libwebsockets-test-server.exe' is to run a Websocket s...

2019-04-01 22:11:26 802

原创 Build libraries of libwebsockets 3.1 with Visual Studio 2010 on 64-bit Windows 7 (2)

After build files are created by CMake, you can open the folder C:\Temp\libwebsokets\libwebsockets\build. After double-clicking the libwebsockets.sln file icon, Visual Studio 2010 IDE will startup...

2019-04-01 00:08:03 995 1

原创 Build libraries of libwebsockets 3.1 with Visual Studio 2010 on 64-bit Windows 7 (1)

Libwebsockets is an open source library of WebSocket protocol implementation. It is written in pure C language. Its homepage is: https://libwebsockets.org/ . This serial of articles will show you ...

2019-03-31 23:32:28 2495 1

原创 看图学习 RFC 3161 中的时间戳响应及 RFC 5652 中的 SignedData

在 RFC 3161《Time-Stamp Protocol》中定义的时间戳响应是一个 ASN.1 SEQUENCE,它的结构十分复杂,其内部包含的一个子项是在 RFC 5652《Cryptographic Message Syntax》(CMS)中定义的 SignedData。为了更好地理解 ASN.1 编码的层次关系,在本文中提供了一些直观的示例图供大家查看。首先看一下时间戳响...

2019-03-09 21:23:18 3595

原创 ASN.1 SEQUENCE 结构 ESSCertID 的演化及其在 RFC 3161 《时间戳协议》标准中的应用

在 1999 年颁布的 RFC 2634《Enhanced Security Services for S/MIME》中,使用 SigningCertificate 指示校验数字签名时应当使用的证书。SigningCertificate 应当被包含在 ASN.1 结构“签名属性”(即 SignedAttributes,注:在 RFC 5652 CMS 标准中定义了 SignedAttrib...

2019-03-02 21:53:07 2562 7

原创 基于杂凑函数的确定性随机比特生成器(Hash_DRBG)

        对称加密的密钥及非对称加密的私钥,通常是随机生成的比特串。在公钥加密、数字签名计算过程中,如果使用概率性非对称算法(比如椭圆曲线算法),将会用到随机数。要生成随机数,可以使用物理噪声源。在对安全性要求较高的环境中,随机数一般使用特殊硬件生成。当没有可用来生成随机数的硬件时,如果能够进行人机交互,可以采集用户的随意行为轨迹数据(比如敲击键盘的时间间隔、鼠标随意移动的轨迹)作为随机源。...

2019-02-11 21:53:23 4650

原创 国内商密与信息安全管理机构网站简介

1.国家密码管理局 国家商用密码管理办公室网站升级改版后,新网站被命名为国家密码管理局门户网站。网址是:http://www.oscca.gov.cn/sca/index.shtml在该网站上可以查看到以下信息:a)已颁布的密码行业标准规范的简要概况;b)已被授予型号证书编号的商用密码产品目录;c)电子政务电子认证服务机构目录;d)商用密码产品审批服务指南;d)国家密码管理局发...

2019-01-03 17:37:49 4409

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回传所收到消息服务器。

2019-04-15

NIST随机数统计测试工具Windows版

使用Kravietz制作的修改版NIST Statistical Test Suite for Random and Pseudorandom Number Generators程序(来源:https://github.com/kravietz/nist-sts),在Windows下进行了编译,将编译出的名为assess.exe的可执行程序及相关的目录发布在这里。

2018-10-08

《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”文件。

2017-06-23

智能密码钥匙内部证书导出工具ExportCert

ExportCert是一个在Windows平台上使用的命令行工具程序,对于符合GM/T 0016-2012《智能密码钥匙密码应用接口规范》的智能密码钥匙,可以使用本工具导出其中包含的加密或签名证书。

2017-05-22

智能密码钥匙查看器

智能密码钥匙查看器UkeyViewer是一个用C语言编写的命令行工具软件,针对符合我国密码行业标准 GM/T 0016-2012《智能密码钥匙密码应用接口规范》的智能密码钥匙。用户可以使用它来查看一个Ukey的设备名、包含的应用名、应用中的容器名、容器的类型。对该软件的介绍可以在博客:http://blog.csdn.net/henter/article/details/54883746 上看到。 在使用前,用户需要手动修改配置一下软件中的XML文件,在其中填入Ukey的驱动DLL文件名等信息,详情可查看软件中包含的说明。

2017-02-11

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 版本时就不会包含这些验证语句,效率可以有一点提升。

2014-07-15

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 版本时就不会包含这些验证语句,效率可以有一点提升。

2014-07-15

空空如也

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

TA关注的人

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