【无标题】

DER编码
完成下面任务(9分)

  1. 在 Ubuntu 或 openEuler 中完成任务(推荐openEuler)
  2. 使用抽象语法记法(ASN.1)来定义学生数据结构:
    StudentInfo ::= SEQUENCE {
    studentID INTEGER,
    name IA5String,
    score INTEGER
    }
  3. 对上面数据结构使用你的信息进行填充,studentID是 8 位学号;name 是姓名首字母;score:60-100 数字,填充完使用 echo 命令得到“你的八位学号.der”文件,给出编码过程和echo命令具体内容(5 分)
  4. 生成 DER 文件

openssl asn1parse -genconf <(echo -e “StudentInfo\n\tstudentID 20221327\n\tname ‘LZJ’\n\tscore 85”) -out 20221327.der
2. 查看 DER 文件的十六进制内容
运行以下命令:

od -t x1 20221327.der
3. 解析 DER 文件
运行以下命令:
openssl asn1parse -inform der -in 20221327.der
修改后的运行结果
生成 DER 文件
运行以下命令:

openssl asn1parse -genconf <(echo -e “StudentInfo\n\tstudentID 20221327\n\tname ‘LZJ’\n\tscore 85”) -out 20221327.der
查看 DER 文件的十六进制内容
运行以下命令:

od -t x1 20221327.der
输出示例:

0000000 30 0d 02 04 78 56 34 12 16 03 4c 5a 4a 02 01 55
0000020
解释:

30:SEQUENCE 的标签。

0d:SEQUENCE 的长度(13 字节)。

02 04:INTEGER 的标签和长度(4 字节)。

78 56 34 12:学生ID 20221327 的编码(假设为示例数据)。

16 03:IA5String 的标签和长度(3 字节)。

4c 5a 4a:姓名 LZJ 的编码。

02 01 55:分数 85 的编码。

解析 DER 文件
运行以下命令:

openssl asn1parse -inform der -in 20221327.der
输出示例:

0:d=0  hl=2 l=  13 cons: SEQUENCE          
2:d=1  hl=2 l=   4 prim:  INTEGER           :20221327
8:d=1  hl=2 l=   3 prim:  IA5STRING         :LZJ

13:d=1 hl=2 l= 1 prim: INTEGER :85
解释:

0:d=0 hl=2 l= 13 cons: SEQUENCE:表示这是一个长度为 13 字节的 SEQUENCE。

2:d=1 hl=2 l= 4 prim: INTEGER :20221327:表示学生ID 20221327。

8:d=1 hl=2 l= 3 prim: IA5STRING :LZJ:表示姓名 LZJ。

13:d=1 hl=2 l= 1 prim: INTEGER :85:表示分数 85。

  1. 使用 od 命令查看“你的八位学号.der”文件的内容,提交运行结果(2分)
    十六进制内容

0000000 30 0d 02 04 78 56 34 12 16 03 4c 5a 4a 02 01 55
0000020

  1. 使用 OpenSSL asn1parse 命令解析“你的八位学号.der”文件,提交运行结果(2分)
    ASN.1 解析结果

    0:d=0 hl=2 l= 13 cons: SEQUENCE
    2:d=1 hl=2 l= 4 prim: INTEGER :20221327
    8:d=1 hl=2 l= 3 prim: IA5STRING :LZJ
    13:d=1 hl=2 l= 1 prim: INTEGER :85

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值