GM/T0015-2012学习笔记

news2024/11/28 22:37:18

GM/T0015-2012学习笔记

文章目录

  • GM/T0015-2012学习笔记
    • 数字证书
      • 数字证书特性
        • 用户证书形式
    • 数字证书格式
      • DER
        • 资料1
        • 资料2
    • //TODO

吐槽一下:既然是标准,就应该是广而告知,被一些信息查的网站,高价出售。

我从“密码行业标准化技术委员会”下载到官方版本。http://www.gmbz.org.cn/main/bzlb.html
如果还找不到的,可以联系我索要,微信yjkhtddx。
还有大神整理在线版:https://github.com/metanorma/gmt-0015-2012/blob/master/gmt-0015-2012-zh.adoc

数字证书

数字证书特性

  • 任何能够获得和使用认证机构公钥的用户都可以恢复认证机构所认证的公钥。
  • 除了认证机构,没有其他机构能够更改证书,证书是不可伪造的。

用户证书形式

在这里插入图片描述
V 为证书版本;
SN 为证书序列号;
A 为用来签署证书的算法标识符;
UCA 为CA的可选的唯一性标识符;
UA 为用户A的可选的唯一性标识符;
Ap 为用户A的公钥;
TA 表示证书的有效期,由两个日期组成,两者之间的时间段即是证书的有效期。

CA<<A>> = CA{V,SN,AI,CA,UCA,A,UA,Ap,TA}

数字证书格式

本标准采用GB/T16262系列标准的特定编码规则(DER)对下列证书项中的各项信息进行编码, 组成特定的证书数据结构。ASN.1 DER编码是关于每个元素的标记、长度和值的编码系统。

数字证书的基本数据结构如下:

Certificate ::= SEQUENCE {
  tbsCertificate      TBSCertificate,
  signatureAlgorithm  AlgorithmIdentifier,
  signatureValue      BIT STRING }
TBSCertificate ::= SEQUENCE {
  version            [0] EXPLICIT Version DEFAUT v1,
  serialNumber          CertificateSerialNumber,
  signature             AlgorithmIdentifier,
  issuer                Name,
  validity              Validity,
  subject               Name,
  subjectPublicKeyInfo  SubjectPublicKeyInfo,
  issuerUniqueID    [1] IMPLICIT UniqueIdentifier OPTIONAL,
                                --如果出现,version必须是v2或者v3
  subjectUniqueID   [2] IMPLICIT UniqueIdentifier OPTIONAL,
                                --如果出现,version必须是v2或者v3
  extensions        [3] EXPLICIT Extensions OPTIONAL 扩展项
                                --如果出现,version必须是v3
}
Version ::= INTEGER {  v1(0)  ,y2(1) ,v3(2)  }
CertificateSerialNumber ::= INTEGER
Validity ::= SEQUENCE {
  notBefore      Time,
  notAfter      Time }
Time ::= CHOICE {
  utcTime        UTCTime,
  generalTime    GeneralizedTime }
UniqueIdentifier ::= BIT STRING 
SubjectPublicKeyInfo ::= SEQUENCE {
  algorithm          AlgorithmIdentifier,
  subjectPublicKey  BIT STRING }
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
  extnID        OBJECT IDENTIFIER,
  critical      BOOLEAN DEFAULT FALSE,
  extnValue     OCTET STRING }

DER

资料1

DER(Distinguished Encoding Rules)是一种ASN.1(Abstract Syntax Notation One,抽象语法符号一)规范定义的数据编码规则。ASN.1是一种用于描述数据结构和数据格式的标记语言。

DER编码规则定义了将数据结构以二进制形式进行编码的规则,它是一种通用的、确定性的编码规则。DER编码规则在一些常见的应用中得到广泛使用,特别是在X.509数字证书、PKCS标准(如PKCS#5、PKCS#7和PKCS#12)以及其他各种加密算法中。

对于每种类型的数据,DER规定了它的特定编码方式,例如,整数、布尔值、字符串、时间等。数据以TLV(Type-Length-Value)三元组的形式编码,即类型、长度和值,其中类型表示数据的类型标识,长度表示数据的长度,值表示具体的数据内容。

DER编码规则具有以下特点:

  1. 确定性:对于给定的数据,DER编码规则定义了唯一的编码方式,因此可以确保编码和解码的结果始终一致。
  2. 紧凑性:DER编码是非常紧凑的,可以有效地利用存储空间。
  3. 无歧义性:DER编码规则是严格的,不允许任何歧义的情况出现。

总之,通过遵循DER编码规则,可以实现不同系统之间的数据交换和互操作性。

资料2

DER是Distinguished Encoding Rules的缩写,是ASN.1编码规则的一种扩展,它为每个ASN.1类型定义了一种唯一的编码方案。
DER编码规则的特点如下:

长度小于等于127,必须使用短型长度表示法,即一个字节的长度。
长度大于127,必须使用长型长度表示法,即一个或多个字节的长度,并且要尽可能的短。
对于简单的string类型以及在其基础上隐性标签生成的类型,使用简单定长表示法。

DER编码由四个部分组成,分别是类型字段、长度字段、值字段和结束标识字段。

//TODO

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

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

相关文章

一文读懂单分子标签UMI

背景 在整理分子标签&#xff08;unique molecular identifier&#xff0c;UMI&#xff09;之前&#xff0c;先了解下&#xff1a; NGS 中潜在的错误来源有哪些&#xff1f; 1. 来源建库过程&#xff1a;文库制备、靶向序列捕获和测序均涉及 DNA 聚合酶以及扩增步骤。这些过程…

和LangChain CEO一起讲解深度学习在数据领域的应用;如何识别语音DeepFake?

&#x1f989; AI新闻 &#x1f680; 如何识别语音DeepFake&#xff1f; 摘要&#xff1a;加拿大滑铁卢大学的研究人员开发了一种语音DeepFake软件&#xff0c;成功qipian语音认证系统概率高达99%。其他安全研究人员也开始应对这一技术挑战&#xff0c;亚马逊研究人员尝试检查…

【实验四】多态

1、完成第133页实验题目2 import java.util.Scanner;public class Application{private UserDao dao;public Application(UserDao dao){this.daodao;}public void setDao(UserDao dao){this.dao dao;}public void registe()//注册函数{Scanner scnnew Scanner(System.in);//获…

10分钟理解RNN、LSTM、Transformer结构原理!

文章目录 一、RNN1.1 RNN基本架构1.2 RNN经典的三种结构1.2.1 vector-to-sequence结构1.2.2 sequence-to-vector结构1.2.3 Encoder-Decoder结构 1.3 RNN常用领域1.4 RNN的优缺点1.5 RNN中为什么会出现梯度消失 二、LSTM2.1 LSTM与RNN差异2.2 LSTM核心思想图解2.2.1 忘记层门2.2…

小程序上传头像功能

前台wxml代码 点击navigator&#xff0c;跳转到裁剪页面 <navigator url"/pages/cropper/cropper?userid{{user._id}}&&imgSrc{{user.img}}" hover-class"none"><view class"user-logo-section"><text class"user…

1亿条数据批量插入 MySQL,哪种方式最快?

利用JAVA向Mysql插入一亿数量级数据—效率测评 这几天研究mysql优化中查询效率时&#xff0c;发现测试的数据太少&#xff08;10万级别&#xff09;&#xff0c;利用 EXPLAIN 比较不同的 SQL 语句&#xff0c;不能够得到比较有效的测评数据&#xff0c;大多模棱两可&#xff0c…

深化校企合作,开源网安为软件安全人才培养按下“加速键”

开源网安一直以来十分重视网络安全人才的培养&#xff0c;已陆续与湖北大学、武汉工业大学、桂林电子科技大学等多所高校建立战略合作&#xff0c;打造产学研协同的多类型人才培养模式。6月29日&#xff0c;开源网安与桂林电子科技大学携手举办了软件安全开发与DevSecOps实训课…

简要介绍 | 心脏机械-电耦合理论:原理、研究现状与未来展望

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对心脏机械-电耦合理论进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 心脏机械-电耦合理论&#xff1a;原理、研究现状与未来展望 心脏中精密的血流局部调控机制&#xff1a;electro-metabolic…

使用ChatGPT进行个性化学习

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 在这篇文章中&#xff0c;您将发现 ChatGPT 作为机器学习和数据科学爱好者的个人导师的好处。特别是&#xff0c;您将学习 如何让ChatGPT引导你学习抽象代数如何让 ChatGPT 帮助您…

代码随想录day9

28. 找出字符串中第一个匹配项的下标 思路&#xff1a; 没有。。。。真不会。。。。下次再来吧 代码&#xff1a; def strStr(self, haystack: str, needle: str) -> int:if not needle:return 0next [0] * len(needle)self.getNext(next, needle)j -1for i in range(…

路径规划算法:基于猎食者优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于猎食者优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于猎食者优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法…

如何搭建自己的图床(GitHub版)

文章目录 1.图床的概念2.用GitHub创建图床服务器2.1.新建仓库2.2.生成Token令牌2.3.创建img分支和该分支下的img文件夹(可选) 3.使用PicGo软件上传图片3.1 下载PicGo软件3.2配置PicGo3.3用PicGo实现上传 4. Typora实现自动上传5.免费图片网站 前言&#xff1a; 如果没有自己的服…

暑假第六天打卡

离散&#xff1a; 极小项&#xff1a; &#xff08;1&#xff09;简单合取式 &#xff08;2&#xff09;每个字母只出现一次 &#xff08;3&#xff09;按字典顺序排列 &#xff08;4&#xff09;成真赋值&#xff0c;且化为十进制 极大项 &#xff08;1&#xff09;简单…

智能化客流系统-实时监测人流趋势,助力商场销售策略优化

随着人们对安全和便利性的要求不断提高&#xff0c;智慧客流人数管理系统的应用已经成为各类场所管理的必备工具。它可以帮助管理者实时监测人流情况&#xff0c;提供精准的服务和安全保障。 一、案例展示 智慧客流人数管理系统在图书馆的应用&#xff0c;通过实时监测和数据…

avue 表单绑定值;avue表单项根据某项的值去联动显隐或是联动下拉数据

效果&#xff1a;发布type为shp时 数据相关的都隐藏&#xff0c;当发布type为postgis时则显示 1.avue表单绑定值 html <avue-form :option"option" v-model"publishForm"></avue-form> js data中定义 data() {return {publishForm: {},optio…

移动端APP组件化架构实践 | 京东云技术团队

前言 对于中大型移动端APP开发来讲&#xff0c;组件化是一种常用的项目架构方式。个人最近几年在工作项目中也一直使用组件化的方式来开发&#xff0c;在这过程中也积累了一些经验和思考。主要是来自在日常开发中使用组件化开发遇到的问题以及和其他开发同学的交流探讨。 本文…

惊,全国快递/外卖员近1亿,程序员有多少?

最近有一组数据备受关注&#xff0c;中华全国总工会消息&#xff0c;目前&#xff0c;全国职工总数4.02亿人左右&#xff0c;新就业形态劳动者8400万人。 其中“新就业形态劳动者”主要指大家熟悉的外卖员、快递员、网约车司机、代驾司机等群体。也就是说&#xff0c;当前有近…

【Unity】 HTFramework框架(四十六)【进阶篇】运行时调试器+指令系统

更新日期&#xff1a;2023年7月10日。 Github源码&#xff1a;[点我获取源码] Gitee源码&#xff1a;[点我获取源码] 索引 运行时调试器使用运行时调试器Hierarchy窗口Inspector窗口 运行时调试器指令系统 运行时调试器 使用运行时调试器 传送门&#xff1a;【Unity】 HTFram…

如何自动生成测试用例方案,我来告诉你

目录 一、目的 二、parameters组合方法 一&#xff09;、组合分析法 二&#xff09;、正交实验设计法 三&#xff09;、两种方法的总结&#xff1a; 三、response判断 四、组装战车(自动生成用例) 一、目的 受体&#xff1a;测试经理&#xff0c;测试主管&#xff0c;质…

容器化背后的魔法之Docker底层逻辑解密

Docker内部工作原理是怎样的&#xff1f; 现在我们知道了Docker是什么以及它提供了哪些好处&#xff0c;让我们逐个重要的细节来了解。 什么是容器&#xff1f;它们是如何工作的&#xff1f; 在深入研究Docker的内部机制之前&#xff0c;我们首先要了解容器的概念。简单地说…