首页 > 其他分享 >DER编码

DER编码

时间:2023-05-07 14:33:33浏览次数:32  
标签:编码 Name DER OBJECT AttributeType 类型 IDENTIFIER

X.501 Name类型用ASN.1描述如下:
Name ::=CHOICE{ RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedNameRelativeDistinguishedName ::= SET OF AttributeValueAssertionAttribute ValueAssertion ::= SEQUENCE{
AttributeType,
AttributeValue }
AttributeType ::= OBJECT IDENTIFIERAttribute Value ::= ANY

Name类型定义为CHOICE类型,目前只有1个选项RDNSequence。RDNSequence定义为SEQUENCEOF类型,由0个或多个RelativeDistinguishedName组成。RelativeDistinguished-Name定义为SET OF类型,由0个或多个AttributeValueAssertion组成。AttributeValueAssertion定义为SEQUENCE类型,由2个成分组成:1个为AttributeType类型和1个AttributeValue类型。AttributeType定义为OBJECT IDENTIFIER类型。AttributeValue定义为ANY类型,具体内容由AttributeType决定。
事实上,Name类型可理解为分层或树形结构,即X.500目录树结构。

2.Name实例

对于用户Test User 1,其对应的Name类型采用分层结构描述为:
(root)
countryName = "CN"
organization Name= "20201214"
commonName = "luoyunfan"

其中,每层对应一个RelativeDistinguishedName;每个RelativeDistinguishedName 由1个AttributeValueAssertion组成。等号前内容为AttributeType,等号后内容为AttributeValue。
用户Test User 1包含3个AttributeType: countryName. organizationName,commonName,其OID定义如下:

attributeType OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5)4}countryName OBJECT IDENTIFIER:= { attributeType 6 }
organizationName OBJECT IDENTIFIER::= { attributeType 10 }commonName OBJECT IDENTIFIER::= { attributeType 3 }

3.DER编码过程

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

 

标签:编码,Name,DER,OBJECT,AttributeType,类型,IDENTIFIER
From: https://www.cnblogs.com/luoyunfan/p/17379291.html

相关文章

  • DER编码
    一、任务详情参考附件中图书p120中7.1的实验指导,完成DER编码Name实例中,countryName改为"CN",organizationName="你的学号"commonName="你的姓名拼音"用echo-n-e"编码">你的学号.der中,用OpenSSLasn1parse分析编码的正确性提交编码过程文档(推荐markdown格式)二、......
  • SpringCloud gateway HttpHeadersFilters
    HttpHeadersFilter在将请求发送到下游之前应用于请求,例如在NettyRoutingFilter中。1、ForwardedHeadersFilterForwardedHeadersFilter创建一个Forwarded标头以发送到下游服务。它将当前请求的Host标头、scheme和端口添加到任何现有的Forwarded标头中。2、RemoveHopByHopH......
  • AtCoder Regular Contest 159简要题解
    AtCoderRegularContest159传送门A-CopyandPasteGraph图的邻接矩阵为\[\left(\begin{matrix}A&A&\cdots&A\\A&A&\cdots&A\\\cdots&\cdots&\cdots&\cdots\\A&A&\cdots&A\e......
  • DER编码
    Name实例中,countryName改为“CN”,organizationName-"你的学号"commoaName="你的姓名拼音"用echo-n-e"编码">你的学号.der中,用OpenSSLasn1parse分析编码的正确性提交编码过程文档(推荐markdown格式)一、查看CN、姓名、学号的16进制ASCII码二、countryNa......
  • 数字证书编码ASN.1 _
    一、任务详情参考附件中图书p223中13.2的实验指导,完成DER编码序列号=1174(0x0496),证书签发者DN="CN=VirtualCA,C=CN",证书持有者DN="CN=你的名字拼音,OU=Person,C=CN",证书有效期=20200222000000-20220222000000。用echo-n-e"编码">你的学号.der中,用OpenSSLasn1parse分析......
  • 数字证书编码ASN.1
    参考附件中图书p223中13.2的实验指导,完成DER编码序列号=1174(0x0496),证书签发者DN="CN=VirtualCA,C=CN",证书持有者DN="CN=你的名字拼音,OU=Person,C=CN",证书有效期=20200222000000-20220222000000。用echo-n-e"编码">你的学号.der中,用OpenSSLasn1parse分析编码......
  • AtCoder Regular Contest 134 E Modulo Nim
    洛谷传送门AtCoder传送门It'sallMAGIC这种题目一般先考虑局面要满足什么条件能必胜,然后根据这个性质来计数。如果把黑板上的数写成一个集合\(S\),那么:\(\varnothing\)为必胜态,\(\{1\},\{2\}\)显然为必败态,打表发现其他单元素集合都为必胜态;如果\(\existsx\inS,x......
  • 使用BERT的两层encoder实现tweet sentiment extraction
    文章目录使用BERT的两层encoder实现tweetsentimentextraction1.前言1.1Required1.2分析给定的数据2.模型构造2.1数据清洗2.2模型结构使用BERT的两层encoder实现tweetsentimentextractionTweetsentimentextraction是kaggle的一个比赛,这个代码主要是想尝试利用BERT模型实......
  • AtCoder Beginner Contest 242
    A-T-shirt#include<bits/stdc++.h>usingnamespacestd;int32_tmain(){doublea,b,c,x; cin>>a>>b>>c>>x; if(x<=a)cout<<"1.000000000000"; elseif(x>b)cout<<&qu......
  • AtCoder Beginner Contest 285(B,D,E,F)
    AtCoderBeginnerContest285(B,D,E,F)B(暴力,非二分)B这道题其实很简单,但是我在\(vp\)的过程,有了一个错误的认识,纠正一下那就是,我把这个当成了一个二分题,并且还有点坚定不移,后来细想,发现不对二分,适用于那种边界分明的那种题(左边一定是符合条件,右边一定符合条件,也可表达为线性......