- 博客(132)
- 资源 (7)
- 收藏
- 关注
原创 在Oracle VirtualBox中导入Kali Linux官方制作的虚拟机
本文中介绍了如何在 Oracle VirtualBox 中导入 Kali Linux 官方制作的虚拟机。
2022-07-24 21:56:38 1270
原创 在 CentOS 7 Linux 平台上编译 OpenSSL 3.0.0
本文介绍了在 CentOS 7 Linux平台上编译 OpenSSL 3.0.0的方法和过程。
2021-11-30 17:21:22 4023 3
原创 为 Oracle VM VirtualBox 虚拟机软件安装扩展包
本文介绍了为 Oracle VM VirtualBox 6.1.30版安装扩展包的方法。
2021-11-30 16:15:25 18921 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 4621
原创 令 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 1606 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 2435 4
原创 OpenSSL 3.0 简介(4)
先介绍一些概念:库上下文(Library Context) 库上下文是一个在 OpenSSL 3.0 版源码中定义的不透明的结构体,在其内部保存全局性的数据。当前对这个结构体的使用,仅限于用来保存核心用到的全局数据,将来可能会做扩展,将其他存在的全局数据也放进去。一个应用程序可以创建和销毁一个或多个供核心使用的库上下文。如果应用程序不创建库上下文,这时一个内部默认的库上下文将被使用。 创建和销毁库上下文的函数分别是:OPENSSL_CTX *OPENS...
2020-06-16 23:27:15 2052
原创 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 4433
原创 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 2726
原创 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 8895
原创 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 2434 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 3084 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 4186 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 11659 14
原创 使用 VS 2019 编译开源软件 MIRACL (3)
这里将演示如何链接编译好的 MIRACL 32 位静态库,编译并运行一个自带的示例程序 brent.c,该示例程序的功能是做整数分解运算。 新建子目录 D:\tmp\brent ,然后启动 VS 2019, 创建新项目。此时创建一个空项目,如下图: 项目名称和路径的设置如下图: 将 D:\tmp\MIRACL\sou...
2019-12-18 23:32:25 1867 3
原创 使用 VS 2019 编译开源软件 MIRACL (2)
启动VS 2019,选择“创建新项目”,然后在创建新项目类型列表中,选择“静态库”,如下图: 在“配置新项目”弹出窗口中,将项目名称设为 miracl_x86 ,设置项目保存位置,点击“创建”按钮。如下图: VS 2019会自动为用户生成 miracle_x86.cpp 和 pch.cpp 两个文件,将这两个文件移除。如下图:...
2019-12-18 23:25:25 2056
原创 使用 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 3307
原创 在 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 7809 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 10082 7
原创 使用 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 5077 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 4403
原创 在 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 22669 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 31285 3
原创 Windows 下使用 OpenSSL 命令行创建包含 subjectAltName 扩展项的数字证书
1. CA 的基本原理简介(了解相关背景知识的读者请跳过这一部分) 我们回想一下在生活中,两个以前从未谋面的人如何核实对方的身份。由于每一个公民都有派出所颁发的身份证,两个人只要通过查看对方的身份证,就可以大体上知道对方是谁。这个验证身份的过程如下图: 在互联网上,识别陌生实体的思路与上述过程类似。首先建立一个有公信力的认证机构 CA(即Certificate...
2019-07-28 23:57:29 5489
原创 介绍一下 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 16797
原创 介绍一种门限SM2密码方案
中科院信息工程研究所的科研人员林璟锵、马原、荆继武等设计了一种 SM2 门限密码算法实现方案,他们在 2014 年 8 月向国家知识产权局提交了专利申请,名称是《适用于云计算的基于SM2算法的签名及解密方法和系统》,授权公告号是:CN 104243456 B,该专利的内容已在国家知识产权局的网站上公开,可以在网站 http://epub.sipo.gov.cn/ 上查到。...
2019-06-07 09:57:20 8484 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 820
原创 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 736
原创 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 982 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 830
原创 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 1042 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 2590 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 3911
原创 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 2727 7
原创 基于杂凑函数的确定性随机比特生成器(Hash_DRBG)
对称加密的密钥及非对称加密的私钥,通常是随机生成的比特串。在公钥加密、数字签名计算过程中,如果使用概率性非对称算法(比如椭圆曲线算法),将会用到随机数。要生成随机数,可以使用物理噪声源。在对安全性要求较高的环境中,随机数一般使用特殊硬件生成。当没有可用来生成随机数的硬件时,如果能够进行人机交互,可以采集用户的随意行为轨迹数据(比如敲击键盘的时间间隔、鼠标随意移动的轨迹)作为随机源。...
2019-02-11 21:53:23 5058
原创 国内商密与信息安全管理机构网站简介
1.国家密码管理局 国家商用密码管理办公室网站升级改版后,新网站被命名为国家密码管理局门户网站。网址是:http://www.oscca.gov.cn/sca/index.shtml在该网站上可以查看到以下信息:a)已颁布的密码行业标准规范的简要概况;b)已被授予型号证书编号的商用密码产品目录;c)电子政务电子认证服务机构目录;d)商用密码产品审批服务指南;d)国家密码管理局发...
2019-01-03 17:37:49 4691
Windows平台上编译的开源软件libwebsockets自带的三个示例程序
2019-04-15
NIST随机数统计测试工具Windows版
2018-10-08
《COM技术内幕——微软组件对象模型(Inside COM)》一书部分源码 for VS 2010
2017-06-23
智能密码钥匙内部证书导出工具ExportCert
2017-05-22
智能密码钥匙查看器
2017-02-11
C语言实现的SM2数字签名验证
2014-07-15
SM2数字签名验证函数
2014-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人