GmSSL-3.0.0国密支持的验证笔记

GmSSL-3.0.0国密支持的验证笔记

github上直接下源码编译

github上的tag只有3.0.0和3.1.1两个版本

GmSSL-3.1.1

ubuntu18.04上直接编译报错,放弃了。

GMSSL-3.0.0

cmake直接编译,没有问题

验证

# root @ ubuntu in /opt/GmSSL-3.0.0/bin [5:54:26] 
$ ./gmssl version
GmSSL 3.0.0# root @ ubuntu in /opt/GmSSL-3.0.0/bin [5:55:14] 
$ cd .. # root @ ubuntu in /opt/GmSSL-3.0.0 [5:55:24] 
$ mkdir test# root @ ubuntu in /opt/GmSSL-3.0.0 [5:55:27] 
$ cd test # root @ ubuntu in /opt/GmSSL-3.0.0/test [5:55:46] C:130
$ ../bin/gmssl sm2keygen -pass 1234 -out rootcakey.pem
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEEVtfgydCmbg0DqHI5l9E19PFyBy0
4FEsQ45YbmsYCLRRj2KiFHG2K9XSA1zlFJ3ayfVR4p3L1xFtv7LcgCTqXg==
-----END PUBLIC KEY-----# root @ ubuntu in /opt/GmSSL-3.0.0/test [5:56:14] 
$ ../bin/gmssl certgen -C CN -ST HeNan -L ZhengZhou -O JL -OU HW -CN ROOTCA -days 3650 -key rootcakey.pem -pass 1234 -out rootcacert.pem -key_usage keyCertSign -key_usage cRLSign# root @ ubuntu in /opt/GmSSL-3.0.0/test [5:57:28] 
$ ../bin/gmssl certparse -in rootcacert.pem
CertificatetbsCertificateversion: v3 (2)serialNumber: 39916719DA11E3ED72623D9Bsiganture: sm2sign-with-sm3issuercountryName: CNstateOrProvinceName: HeNanlocalityName: ZhengZhouorganizationName: JLorganizationalUnitName: HWcommonName: ROOTCAvaliditynotBefore: Tue Aug  1 05:57:24 2023notAfter: Fri Jul 29 05:57:24 2033subjectcountryName: CNstateOrProvinceName: HeNanlocalityName: ZhengZhouorganizationName: JLorganizationalUnitName: HWcommonName: ROOTCAsubjectPulbicKeyInfoalgorithmalgorithm: ecPublicKeynamedCurve: sm2p256v1subjectPublicKeyECPoint: 04115B5F83274299B8340EA1C8E65F44D7D3C5C81CB4E0512C438E586E6B1808B4518F62A21471B62BD5D2035CE5149DDAC9F551E29DCBD7116DBFB2DC8024EA5EextensionsExtensionextnID: KeyUsage (2.5.29.15)critical: trueKeyUsage: keyCertSign,cRLSignExtensionextnID: BasicConstraints (2.5.29.19)critical: trueBasicConstraintscA: trueExtensionextnID: AuthorityKeyIdentifier (2.5.29.35)AuthorityKeyIdentifierkeyIdentifier: 3A7F99EF48DCB5D9FAB383BE1D2D769B23E40BB8310B7D82CD1A1172A27C0052signatureAlgorithm: sm2sign-with-sm3signatureValue: 3045022009695034ED4A2D277DF32B094E3B70E23766DAAB3D20E0CD509F6CD85B3D4FA4022100A906ACB14B40ACC6FB9214680A839FD2E157AF0D00858856FE7285B53FA8B014
-----BEGIN CERTIFICATE-----
MIICBjCCAaqgAwIBAgIMOZFnGdoR4+1yYj2bMAwGCCqBHM9VAYN1BQAwXDELMAkG
A1UEBhMCQ04xDjAMBgNVBAgTBUhlTmFuMRIwEAYDVQQHEwlaaGVuZ1pob3UxCzAJ
BgNVBAoTAkpMMQswCQYDVQQLEwJIVzEPMA0GA1UEAxMGUk9PVENBMB4XDTIzMDgw
MTA1NTcyNFoXDTMzMDcyOTA1NTcyNFowXDELMAkGA1UEBhMCQ04xDjAMBgNVBAgT
BUhlTmFuMRIwEAYDVQQHEwlaaGVuZ1pob3UxCzAJBgNVBAoTAkpMMQswCQYDVQQL
EwJIVzEPMA0GA1UEAxMGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
EVtfgydCmbg0DqHI5l9E19PFyBy04FEsQ45YbmsYCLRRj2KiFHG2K9XSA1zlFJ3a
yfVR4p3L1xFtv7LcgCTqXqNQME4wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
MAMBAf8wKwYDVR0jBCQwIoAgOn+Z70jctdn6s4O+HS12myPkC7gxC32CzRoRcqJ8
AFIwDAYIKoEcz1UBg3UFAANIADBFAiAJaVA07UotJ33zKwlOO3DiN2baqz0g4M1Q
n2zYWz1PpAIhAKkGrLFLQKzG+5IUaAqDn9LhV68NAIWIVv5yhbU/qLAU
-----END CERTIFICATE-----# root @ ubuntu in /opt/GmSSL-3.0.0/test [5:58:45] 
$ ../bin/gmssl reqsign -in gbs_req_cert_a77d169.pem -days 365 -key_usage keyCertSign -path_len_constraint 0 -cacert rootcacert.pem -key rootcakey.pem -pass 1234 -out gbs_cert.pem    # root @ ubuntu in /opt/GmSSL-3.0.0/test [6:00:14] C:127
$ ../bin.gmssl certparse -in gbs_cert.pem
zsh: no such file or directory: ../bin.gmssl# root @ ubuntu in /opt/GmSSL-3.0.0/test [6:00:24] C:127
$ ../bin/gmssl certparse -in gbs_cert.pem
CertificatetbsCertificateversion: v3 (2)serialNumber: D8646727FE6BB7048619C1D5siganture: sm2sign-with-sm3issuercountryName: CNstateOrProvinceName: HeNanlocalityName: ZhengZhouorganizationName: JLorganizationalUnitName: HWcommonName: ROOTCAvaliditynotBefore: Tue Aug  1 05:59:57 2023notAfter: Wed Jul 31 05:59:57 2024subjectcountryName: CNstateOrProvinceName: HNlocalityName: ZZorganizationName: JLorganizationalUnitName: LiveGBScommonName: 34020000002000000001serialNumber: a77d1691d30cdc6eec2e9fb0acd4a4f4subjectPulbicKeyInfoalgorithmalgorithm: ecPublicKeynamedCurve: sm2p256v1subjectPublicKeyECPoint: 0401283C5026D1730DE4DBF81462BB1A7439FCB4C59A9B826E111A4C597DFB97318D8C7D9BCBA93536F14153CF3141A791BFEFA9C95D7D6338624670A62E9D7612extensionsExtensionextnID: KeyUsage (2.5.29.15)critical: trueKeyUsage: keyCertSignExtensionextnID: BasicConstraints (2.5.29.19)critical: trueBasicConstraintscA: truepathLenConstraint: 0ExtensionextnID: AuthorityKeyIdentifier (2.5.29.35)AuthorityKeyIdentifierkeyIdentifier: 3A7F99EF48DCB5D9FAB383BE1D2D769B23E40BB8310B7D82CD1A1172A27C0052signatureAlgorithm: sm2sign-with-sm3signatureValue: 30440220764BDE97CE2569800D352303587EB888A26C16B61FA6764EA38E1700ADA43577022057F4C7DF30738B4FE0045DB2EEFFD19813109A3BCF8FF654E37D900BE4F5AB2A
-----BEGIN CERTIFICATE-----
MIICPjCCAeOgAwIBAgINANhkZyf+a7cEhhnB1TAMBggqgRzPVQGDdQUAMFwxCzAJ
BgNVBAYTAkNOMQ4wDAYDVQQIEwVIZU5hbjESMBAGA1UEBxMJWmhlbmdaaG91MQsw
CQYDVQQKEwJKTDELMAkGA1UECxMCSFcxDzANBgNVBAMTBlJPT1RDQTAeFw0yMzA4
MDEwNTU5NTdaFw0yNDA3MzEwNTU5NTdaMIGQMQswCQYDVQQGEwJDTjELMAkGA1UE
CBMCSE4xCzAJBgNVBAcTAlpaMQswCQYDVQQKEwJKTDEQMA4GA1UECxMHTGl2ZUdC
UzEdMBsGA1UEAxMUMzQwMjAwMDAwMDIwMDAwMDAwMDExKTAnBgNVBAUTIGE3N2Qx
NjkxZDMwY2RjNmVlYzJlOWZiMGFjZDRhNGY0MFkwEwYHKoZIzj0CAQYIKoEcz1UB
gi0DQgAEASg8UCbRcw3k2/gUYrsadDn8tMWam4JuERpMWX37lzGNjH2by6k1NvFB
U88xQaeRv++pyV19YzhiRnCmLp12EqNTMFEwDgYDVR0PAQH/BAQDAgIEMBIGA1Ud
EwEB/wQIMAYBAf8CAQAwKwYDVR0jBCQwIoAgOn+Z70jctdn6s4O+HS12myPkC7gx
C32CzRoRcqJ8AFIwDAYIKoEcz1UBg3UFAANHADBEAiB2S96XziVpgA01IwNYfriI
omwWth+mdk6jjhcAraQ1dwIgV/TH3zBzi0/gBF2y7v/RmBMQmjvPj/ZU432QC+T1
qyo=
-----END CERTIFICATE-----

CA根证书生成和签发证书流程异常顺利,没啥可写的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS垃圾回收机制详解

本文介绍了JavaScript中的垃圾回收机制,包括它的原理,常用的算法,以及优化的方法。本文旨在帮助程序员理解和掌握JavaScript的内存管理,提高程序的性能和稳定性 JavaScript是一种动态类型的编程语言,它不需要程序员手动…

杨辉三角,给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

题记: 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows 1 输出: …

Jenkins通过OpenSSH发布WinServer2016

上一篇文章> Jenkins集成SonarQube代码质量检测 一、实验环境 jenkins环境 jenkins入门与安装 容器为docker 主机IP系统版本jenkins10.10.10.10rhel7.5 二、OpenSSH安装 1、下载 官网地址:https://learn.microsoft.com/zh-cn/windows-server/administration/op…

JavaWeb教程笔记

JavaWeb Java Web 1、基本概念 1.1、前言 web开发: web,网页的意思 , www.baidu.com静态web html,css提供给所有人看的数据始终不会发生变化! 动态web 淘宝,几乎是所有的网站;提供给所有人…

Spring Boot使用@Async实现异步调用:自定义线程池

一、定义线程池 第一步,先在Spring Boot主类中定义一个线程池,比如: SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}EnableAsyncConfigurat…

综合能源系统(5)——综合能源系统优化控制技术

综合能源系统关键技术与典型案例  何泽家,李德智主编 综合能源系统优化控制技术是打破原有各能源供用系统单独规划、单独设计和独立运行的既有模式,实现多能协同互补和综合能源系统稳定运行的关键技术,以实现能源高效利用与可再生能源消纳为…

3ds Max建模教程:模拟布料拖拽撕裂和用剑撕裂两种效果

推荐: NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 拖拽撕布 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在透视视口中创建平面。保持其长度 后座和宽度后座为 100。 创建平面 步骤 3 转到助手>假人并在 飞机的两侧。 助手>假人 步骤 4 选…

2023牛客暑期多校训练营2

D.The Game of Eating 思路:考虑贪心。每个人都会选择一道对于自身价值最大的菜,但考虑到其他人会帮自己提供一定的贡献,即样例二,第一个只需要点第三道菜,第二个人点第四道菜,自动帮第一个人补全了第四道…

Arthas实战:阿里巴巴开源的Java诊断利器

Arthas实战:阿里巴巴开源的Java诊断利器 Arthas简介 Arthas是Alibaba开源的Java诊断工具,可以在线排查问题,无需重启即可直观分析JVM的状况。 Arthas支持JDK 6,采用命令行交互模式,同时提供丰富的tab自动补全功能,进一步方便进行问题的定位和诊断。 Arthas安装 有以下几种…

Rust的入门篇(下)

这篇博客是rust入门篇下 45. 生命周期注释 // 生命周期// 下面代码不能通过编译 // longer 函数取 s1 和 s2 两个字符串切片中较长的一个返回其引用值 // 返回值引用可能会返回过期的引用 // fn longer(s1: &str, s2: &str) -> &str { // if s2.len() >…

亚马逊、虾皮、Lazada、速卖通、阿里国际等跨境电商平台怎么获取优质评价?

在跨境电商平台上,产品的评价直接影响卖家账户的评定因素,同时也影响产品页面的曝光量和流量,从而对产品销量产生影响,因此,产品评价的重要性不言而喻,除了产品的图片、描述、详情、广告和站外推广&#xf…

【LeetCode】不同路劲(动态规划)

不同路劲 题目描述算法流程编程代码 链接: 不同路劲 题目描述 算法流程 编程代码 class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> dp(m 1,vector<int>(n 1));dp[1][0] 1;for(int i 1;i < m;i){for(int j 1;j < n…

嵌入式基础知识-存储器

本篇介绍计算机存储硬件的一些基础知识&#xff0c;在嵌入式开发中&#xff0c;也同样适用。 1 计算机存储结构 存储器是计算机中的重要部件&#xff0c;理想的存储器应该是执行快&#xff0c;容量足&#xff0c;价格便宜等。但实际上&#xff0c;目前无法同时满足这些目标&a…

blender凹凸感和置换形变

一、怎么做出凹凸感 需要三个部分的内容&#xff1a; 1、一个基础的纹理&#xff1a;告诉计算机需要用一个什么样的纹理做凹凸&#xff0c;纹理一般采用黑白&#xff0c;在计算机里面&#xff0c;从 0 - 1之间的值可以用从黑到白之间不同的灰度来表示因此&#xff0c;有一张黑白…

【Java】Spring——创建Spring + 对Spring的存储 /读取对象操作

文章目录 前言一、创建Spring项目二、向Spring容器中存储 Bean 对象三、从Spring容器中读取 Bean 对象得到Spring上下文对象得到 Bean 对象 总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话&#xff0c;互…

英语翻译日语翻译待遇哪个好

如今&#xff0c;随着世界联系越来越紧密&#xff0c;市场上对于翻译业务的需求也越来越大。那么&#xff0c;针对比较热门的英语翻译与日语翻译&#xff0c;哪个语言翻译待遇好&#xff1f; 我们知道&#xff0c;英语作为全球使用频率最高的语言&#xff0c;业务量大市场需求大…

【用户体验分析报告】 按需加载组件,导致组件渲染卡顿,影响交互体验?组件拆包预加载方案来了!

首先&#xff0c;我们看一些针对《如何提升应用首屏加载体验》的文章&#xff0c;提到的必不可少的措施&#xff0c;便是减少首屏幕加载资源的大小&#xff0c;而减少资源大小必然会想到按需加载措施。本文提到的便是一个基于webpack 插件与 react 组件实现的一套研发高度自定义…

[Android 13]PowerManagerService系列1--启动流程和核心方法

hongxi.zhu 2023-7-28 Android 13 PowerManagerService(简称PMS)主要是负责协调、管理设备CPU资源&#xff0c;并提供功能接口给应用框架层或应用层申请获取CPU资源的一个服务&#xff0c;例如&#xff1a;亮灭屏、关机、WakeLock管理、Dreamland(屏保模式)、休眠时间等行为。 …

云原生落地实践的25个步骤

一、什么是云原生&#xff1f; 云原生从字面意思上来看可以分成云和原生两个部分。 云是和本地相对的&#xff0c;传统的应用必须跑在本地服务器上&#xff0c;现在流行的应用都跑在云端&#xff0c;云包含了IaaS,、PaaS和SaaS。 原生就是土生土长的意思&#xff0c;我们在开始…

基于OAI与Ueransim的5G网络切片平台构成简述

自定义多切片核心网构建 为了实现在同一台机器上同时对每一个切片启动一套单独的核心网&#xff0c;并且可以同时启动多套核心网&#xff0c;我们在官方提供的核心网模板的基础上进行适当的修改&#xff0c;扩展出其他可以正常运行的核心网&#xff0c;由此我们可以实现在同一…