原创 介紹一下 X.509 數字證書中的擴展項 subjectAltName

        在 RFC 5280《Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile》中

原创 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 bel

原创 介紹一個 Windows 平臺上的開源工具軟件 ASN.1 Editor

        在 Windows 平臺上以前一直使用 ASN1 VIEW 工具軟件查看 ASN.1 編碼數據,其界面如下:         現在在網上又找到了另一個類似的工具軟件 ASN.1 Editor,該軟件的功能包括:顯示、編輯

原创 OpenSSL 3.0 簡介(1)

        在 2020 年 4 月 23 日,OpenSSL 管理委員會和 OpenSSL 技術委員會發布了 OpenSSL 3.0 Alpha1 版本,Alpha 1版本包含基本的功能加上基本的 FIPS(Federal Info

原创 OpenSSL 3.0 簡介(4)

        先介紹一些概念: 庫上下文(Library Context)         庫上下文是一個在 OpenSSL 3.0 版源碼中定義的不透明的結構體,在其內部保存全局性的數據。當前對這個結構體的使用,僅限於用來保存核心用到

原创 在 64 位 Win10 上使用 VS 2019 編譯 OpenSSL-1.1.1d

        到 OpenSSL 官網 https://www.openssl.org/ 下載 openssl-1.1.1d.tar.gz ,本文中將該壓縮文件中 openssl-1.1.1d 子目錄中所有的文件解壓到 d:\OpenS

原创 OpenSSL 3.0 簡介(2)

        以下概念來自 FIPS 140 標準: 1)POST (Power On Self Test),即“上電自檢”; 2)KAT (Known Answer Tests),即“已知答案測試”,是指在輸入和對應的輸出值已知的情況

原创 使用 OpenSSL 對 Octet String 類型數據進行 ASN.1 編碼和解碼

        在 ASN.1 編碼規則中,對於 Octet String 類型數據編碼的方式是比較簡單的,編碼結果由三部分級聯組成,如下圖:         其中標誌位取值爲0x4,負載部分的值就是原始的 Octet String 數

原创 OpenSSL 3.0 簡介(3)

        OpenSSL 3.0 版的構成如下圖所示:         從圖中可以看出,OpenSSL 包含以下組成部分:應用(例如具有證書頒發功能的 CA)、常見服務(包括:X.509 證書創建與解析、ASN.1 編解碼、BIO

原创 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

原创 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.ope

原创 使用 VS 2019 編譯開源軟件 MIRACL (3)

        這裏將演示如何鏈接編譯好的 MIRACL 32 位靜態庫,編譯並運行一個自帶的示例程序 brent.c,該示例程序的功能是做整數分解運算。         新建子目錄 D:\tmp\brent ,然後啓動 VS 2019,

原创 使用 VS 2019 編譯開源軟件 MIRACL (2)

        啓動VS 2019,選擇“創建新項目”,然後在創建新項目類型列表中,選擇“靜態庫”,如下圖:           在“配置新項目”彈出窗口中,將項目名稱設爲 miracl_x86 ,設置項目保存位置,點擊“創建”按鈕。如

原创 使用 VS 2019 編譯開源軟件 MIRACL (1)

          Cryptographic SDK 是一個開源的密碼學和多精度整數及有理數運算軟件,開發語言爲ANSI C。它在Github 上的鏈接是:https://github.com/miracl/MIRACL  。注意如果用

原创 記錄 Windows 下編譯一個開源 SM9 簽名驗籤 C 程序的過程

注:本文不討論算法具體實現細節,只介紹如何編譯一個現有的程序實現。         在商用密碼檢測中心( 鏈接:http://www.scctc.org.cn/index.aspx )的網站上,“下載中心” -> “算法源代碼”網頁( 鏈