首页 > 其他分享 >DER编码

DER编码

时间:2024-03-31 10:56:28浏览次数:17  
标签:编码 13 06 04 03 55 DER 30

一、任务详情

注意:如果使用AI工具,一定提交使用过程截图
0. 参考附件中图书p120 中7.1的实验指导,完成DER编码

  1. Name实例中,countryName改为“CN”,organization Name-"你的学号" commoaName="你的姓名拼音"
  2. 用echo -n -e "编码" > 你的学号.der中,用OpenSSL asn1parse 分析编码的正确性
  3. 提交编码过程文档(推荐markdown格式)

二、编码过程

0.查看CN、姓名、学号的16进制ASCII码
echo -n "CN" | od -tc -tx1
echo -n "luojie" | od -tc -tx1
echo -n "20211424" | od -tc -tx1

1.AttributeType编码
AttributeType为OBJECT IDENTIFIER基本类型,编码规则采用基本类型定长模式。
  对于标识串,采用低标识编码方式,只需1个字节。OBJECT IDENTIFIER的tag为0x06:class选择universal,则位8和位7为0,OBJECT IDENTIFIER为基本类型,则位6为0。因此,标识串=0x06。
  对于长度串,采用短型编码方式,只需1个字节。
  对于内容串,由3个字节组成。2.5.4.6编码为55 04 06,2.5.4.10编码为55 04 0A,2.5.4.3编码为55 04 03。
  具体编码过程如表所示。

AttributeType OID定义 标识串 长度串 内容串
countryName 2.5.4.6 06 03 55 04 06
organizationName 2.5.4.10 06 03 55 04 0A
commonName 2.5.4.3 06 03 55 04 03

2.AttributeValue编码
AttributeValue为PrintableString基本类型,编码规则采用基本类型定长模式。
  对于标识串,采用低标识编码方式,只需1个字节。PrintableString的tag为0x13;class
选择universal,则位8和位7为0,OBJECT IDENTIFIER为基本类型,则位6为0。因此,标识串=0x13。
  对于长度串,采用短型编码方式,只需1个字节。
  对于内容串,由其ASCII码组成。
  具体编码过程如表所示。

AttributeValue 标识串 长度串 内容串
"US" 13 02 55 53
"Example rganization" 13 14 45 78 61 6D 70 6C 65 20 4F 7267 61 6E 69 7A 61 74 69 6F 6E
"Test User 1" 13 0B 54 65 73 74 20 55 73 65 72 20 31

"CN" 13 02 43 4E
"20211424" 13 08 32 30 32 30 31 33 32 34
"luojie" 13 0C 78 75 79 75 61 6e
3.AttributeValueAssertion编码
AttributeValueAssertion为SEQUENCE结构类型,编码规则采用结构类型定长模式。
  对于标识串,采用低标识编码方式,只需1个字节。SEQUENCE的tag为OxlO:class选择universal,则位8和位7为0,SEQUENCE为结构类型,则位6为1。因此,标识串0x30.
  对于长度串,采用短型编码方式,只需1个字节。
  对于内容串,由AttributeType和AttributeValue的DER编码值组成。
  具体编码过程如表所示。

AttributeValueAssertion 标识串 长度串 内容串
countryName="US" 30 09 06 03 55 04 06 13 02 55 53
organizationName="Example rganization" 30 1B 06 03 55 04 0A 13 14 45 78 61 6D 70 6C 65 20 4F 72 67 61 6E 69 7A 61 74 69 6F 6E
commonName="Test User 1" 30 12 06 03 55 04 03 13 0B 54 65 73 74 20 55 73 65 72 20 31

countryName="CN" 30 09 06 03 55 04 06 13 02 43 4E
organizationName="20211424" 30 1B 06 03 55 04 0A 13 08 32 30 32 30 31 33 32 34
commonName="luojie" 30 12 06 03 55 04 03 13 06 78 75 79 75 61 6e

4.RelativeDistinguishedName编码
RelativeDistinguishedName为SET OF结构类型,编码规则采用结构类型定长模式。
  对于标识串,采用低标识编码方式,只需1个字节。SET OF的tag为0xl1;class选择universal,则位8和位7为0,SET OF为结构类型,则位6为1。因此,标识串=0x31。
  对于长度串,采用短型编码方式,只需1个字节。
  对于内容串,由AttributeValueAssertion的DER编码值组成。
  具体编码过程如表所示。

RelativeDistinguishedName 标识串 长度串 内容串
countryName="US" 31 0B 30 09 06 03 55 04 06 13 02 55 53
organizationName="Example rganization" 31 1D 30 1B 06 03 55 04 0A 13 14 45 78 61 6D 70 6C 65 20 4F 72 67 61 6E 69 7A 61 74 69 6F 6E
commonName="Test User 1" 31 14 30 12 06 03 55 04 03 13 0B 54 65 73 74 20 55 73 65 72 20 31

countryName="CN" 31 0B 30 09 06 03 55 04 06 13 02 43 4E
organizationName="20211424" 31 11 30 0F 06 03 55 04 0A 13 08 32 30 32 30 31 33 32 34
commonName="luojie" 31 15 30 0D 06 03 55 04 03 13 06 78 75 79 75 61 6e

5.RDNSequence编码
RDNSequence为SEQUENCE OF结构类型,编码规则采用结构类型定长模式。
  对于标识串,采用低标识编码方式,只需1个字节。SEQUENCE OF的tag为0x10;class选择universal,则位8和位7为0,SEQUENCE OF为结构类型,则位6为1。因此,标识串=0x30。
  对于长度串,采用短型编码方式,只需1个字节。
  对于内容串,由3个RelativeDistinguishedName的DER编码值组成。
  具体编码过程如表7-5所示。

RDNSequence 标识串 长度串 内容串
countryName="US" 30 42 31 0B 30 09  06 03 55 04 06  13 02 55 5331 1D 30 1B  06 03 55 04 0A  13 14 45 78 61 6D 70 6C 65 20 4F 72 67 61 6E 69 7A 61 74 69 6F 6E31 14 30 12  06 03 55 04 03  13 0B 54 65 73 74 20 55 73 65 72 20 31

countryName="CN" 30 37 31 0B 30 09  06 03 55 04 06  13 02 43 4E31 11 30 0F  06 03 55 04 0A  13 08 32 30 32 30 31 32 31 3231 15 30 13  06 03 55 04 03  13 0C 59 61 6e 67 20 43 68 65 6e 67 79 75

6.Name编码
Name为CHOICE类型,其DER编码值与RDNSequence相同。
  用户Test User1最终DER编码值如表7-6所示。

DER编码值 ASN.1描述
30 42
 31 0B
  30 09
   06 03 55 04 06
   13 02 55 53
31 1D
 30 1B
  06 03 55 04 0A
  13 14
   45 78 61 6D 70 6C 65 20 4F 72 67
   67 61 6E 69 7A 61 74 69 6F 6E
31 14
 30 12
  06 03 55 04 03
  13 0B
   54 65 73 74 20 55 73 65 72 20 31 attributeType=country
NameattributeValue="US"

attributeType=organizationName
attributeValue="Example Organization"

attributeType=commonName
attributeValue="Test User 1"
30 37
 31 0B
  30 09
   06 03 55 04 06
   13 02 43 4E
31 11
 30 0F
  06 03 55 04 0A
  13 08
   32 30 32 30 31 33 32 34
31 0F
 30 0D
  06 03 55 04 03
  13 06
   78 75 79 75 61 6e attributeType=countryNameattributeValue="CN"
attributeValue="CN"

attributeType=organizationName
attributeValue="20211424"

attributeType=commonName
attributeValue="luojie"
三、DER编码验证
0.验证
openssl asn1parse -inform der -in ./20211424.der
1.countryName="CN"
echo -n -e "\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4E" > 20211424.der

2.organization Name="20211424"
echo -n -e \x31\x11\x30\x0F\x06\x03\x55\x04\x0A\x13\x08\x32\x30\x32\x31\x31\x34\x32\x34" >> 20211424.der

3.commonName="luojie"
echo -n -e "\x31\x0F\x30\x0D\x06\x03\x55\x04\x03\x13\x06\x6C\x75\x6F\x6A\x69\x65\x78\x75\x6E" >> 20211424.der

标签:编码,13,06,04,03,55,DER,30
From: https://www.cnblogs.com/weidaixdrx/p/18102358

相关文章

  • AtCoder Beginner Contest 347
    A-Divisible(abc347A)题目大意给定\(n\)个数\(a_i\)以及\(k\),输出是\(k\)的倍数的\(a_i\)整除以\(k\)的值。解题思路按照题意判断取模和求整除即可。神奇的代码#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;intmain(void){ios::syn......
  • AtCoder Beginner Contest 347
    很快做完了AB。然后C就不会做了。随便想了个看似正确的就交了,结果WA*1。后来有交了4发,一发比一发离谱。发现D不难,是一个状态数\(60\times60\times60\)的DP,但是貌似细节很多。写了大约20分钟后无伤过了,发现压根没有需要处理的细节。这时是57min。读完E......
  • DER编码
    DER编码目录*查看ASCII码DER编码过程一、查看ASCII码echo-n"CN"|od-tc-tx1echo-n"zhaobin"|od-tc-tx1echo-n"20201229"|od-tc-tx1CN434e202113063230323131333036ding......
  • HTB Perfection-wp 基于ruby的SSTI注入、密码爆破工具hashcat的使用、反弹shell的编码
    一进来发现这个页面,估计突破点就是在这里了 当然也可走一下固定的流程,nmap扫一下、dir爆破一下。这里不太像是sql的注入点(并不是查询功能),就不用sql试了。首先第一反应时看到WEBrick模板框架,考虑有没有版本漏洞,但是在几个CVE数据库搜一下都没有对应版本的漏洞。那么走一下正常......
  • Unicode编码解码的全面介绍
    1.Unicode的起源和发展Unicode是一个国际标准,旨在统一世界上所有文字的表示方式。它最初由Unicode协会创立,解决了不同字符集之间的兼容性问题。Unicode的发展经历了多个版本,每个版本都增加了新的字符和特性,以适应不断增长的全球化需求。Unicode编码解码|一个覆盖广泛主题......
  • DER编码
    任务详情参考附件中图书p120中7.1的实验指导,完成DER编码。在Name实例中,将countryName改为“CN”,organizationName改为你的学号,commonName改为你的姓名拼音。使用以下命令:echo-n-e"编码">你的学号.der然后使用OpenSSL的asn1parse工具分析编码的正......
  • blender 常用功能和快捷键
    C键圆形选择器菜单:选择->反选反选模型中未选择的顶点 权重模式,权重光滑 仅显示正面,剔除背面,线框  ......
  • 20211105李宜时DER
    作业内容:参考附件中图书p120中7.1的实验指导,完成DER编码Name实例中,countryName改为“CN”,organizationName-"你的学号"commoaName="你的姓名拼音"用echo-n-e"编码">你的学号.der中,用OpenSSLasn1parse分析编码的正确性提交编码过程文档(推荐markdown格式)具体过程......
  • 隐藏ASP.NET MVC的版本信息,使其不在HTTP Header中显示
    隐藏ASP.NETMVC的版本信息,使其不在HTTPHeader中显示。一、隐藏:X-AspNetMvc-Version在Global.asax文件的Application_Start方法中添加:1MvcHandler.DisableMvcResponseHeader= true;二、移除Header中的Server在Global.asax文件中添加:12345......
  • 【编码器应用】第一节-编码器从从原理到应用详解
    概述:本文内容为常用电机编码器概览,将为您重点介绍编码器大致分类,以及增量编码器与西门子设备的配置连接方式。编码器简介编码器是利用LED光源发出的透射光对码盘进行光电扫描,光电元件接收编码器轴旋转时产生的明暗交替变化,将电机轴的转速和位置转化为电信号反馈给PLC或者驱......