数字证书编码ASN.1

任务详情

  1. 参考附件中图书p223 中13.2的实验指导,完成DER编码
  2. 序列号=1174(0x0496),证书签发者 DN=”CN=Virtual CA,C=CN”,证书持有者DN=”CN=你的名字拼音, OU=Person,C=CN”,证书有效期=20200222000000-20220222000000。
  3. 用echo -n -e “编码” > 你的学号.der中,用OpenSSL asn1parse 分析编码的正确性
  4. 提交编码过程文档(推荐markdown格式)

编码过程

首先查看自己的姓名学号16进制ASCII编码
指令 echo "xx" | od -tx1

数字证书编码ASN.1

根据证书信息确认用户DER编码值
Name 为 CHOICE 类型,其 DER 编码值与 RDNSequence 相同
编码结果如下:

\x30\x36\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e('CN')
\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x32\x30\x31\x39\x31\x32\x32\33('20191223')
\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x13\x0b\x5a\x68\x61\x6e\x67\x20\x4a\x75\x6e\x59\x69(Zhang JunYi)

对TBSCertificate进行DER编码

1.序列号=1174(0x0496)

echo -n -e "\xA0\x03\x02\x01\x02\x02\x02\x04\x96\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00" >20191223.der

2.证书签发者 DN=”CN=Virtual CA

echo -n -e "\x30\x22\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4E\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0A\x56\x69\x72\x74\x75\x61\x6C\x20\x43\x41" >> 20191223.der

3.证书有效期=20200222000000-20220222000000

echo -n -e "\x17\x0D\x32\x30\x32\x30\x30\x32\x32\x32\x30\x30\x30\x30\x5A\x17\x0D\x32\x30\x32\x32\x30\x32\x32\x32\x30\x30\x30\x30\x5A" >>20191223.der

4.证书持有者DN=CN=你的名字拼音(ZhangJunYi), OU=Person

echo -n -e "\x30\x36\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e\x31\x11\x30\x0F\x06\x03\x55\x04\x0A\x13\x08\x32\x30\x31\x39\x31\x32\x32\x33\x31\x14\x30\x12\x06\x03\x55\x04\x03\x13\x0b\x5a\x68\x61\x6e\x67\x20\x4a\x75\x6e\x59\x69" >>20191223.der

5.用OpenSSL asn1parse 分析编码的正确性

openssl asn1parse -inform DER -in 20191223.der

如图,结果是正确的

数字证书编码ASN.1

Original: https://www.cnblogs.com/zzjjyy123/p/16109921.html
Author: 20191223张俊怡
Title: 数字证书编码ASN.1

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585849/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • iostream 未完

    声明控制从标准流读取和写入到标准流的对象。 通常是唯一需要从 C++ 程序执行输入和输出的标头。 #include <iostream></iostream&gt…

    Linux 2023年6月7日
    064
  • 【Leetcode】120. 三角形最小路径和

    给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。 &#x76F8;&#x90BB;&#x7684;&a…

    Linux 2023年6月6日
    0103
  • Android系统中有哪些日志信息和工具

    Android系统日志和工具 我们经常需要查看设备里面的各种日志信息。所以有必要了解android系统里面有哪些日志,以及用什么方式可以提取这些日志。以我手头的红米note4xpl…

    Linux 2023年6月7日
    090
  • Linux基础和命令

    Linux的哲学思想 优势 一切都是一个文件。(包括硬件,文本,二进制,源代 码) 系统中拥有小型,单一用途的程序。(一个程序只负责 做好自己的本职工作) 当遇到复杂任务,通过不同…

    Linux 2023年6月6日
    089
  • Haproxy

    Haproxy Haproxy haproxy简介 负载均衡 Haproxy搭建http负载均衡 lvnanhai、RS1、RS2都关闭防火墙和selinux RS1和RS2部署h…

    Linux 2023年6月6日
    094
  • 服务器监控 -TOP命令详解(下)

    用jmeter做性能测试的时候,top命令是最简单扼要的查看服务器CPU和内存占用情况的命令。如下图就是TOP命令展示出来的结果,下面对结果进行详细解说。 Mem 物理内存: to…

    Linux 2023年6月8日
    082
  • Ubuntu下交换Alt和Ctrl (适用于任何按键修改)

    在 Ubuntu 下交换 Alt和 Ctrl键: sudo vim /usr/share/X11/xkb/keycodes/evdev 或使用系统默认编辑器打开: [En] Or …

    Linux 2023年5月27日
    098
  • shell脚本中 /dev/null 的用途

    /dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据 可以将它 视为一个黑洞, 它等效于只写文件, 写入其中的所有内容都会消失, 尝试从中读取或输出不会有任何结果,同…

    Linux 2023年6月13日
    095
  • 相关powerLink教程、配置方法等

    openPowerLink的开发小组早已经解散,所以有些资料都可以在官网上下载到; 这也是最后一次更新了。其中相关powerlink的教程均放在百度网盘里,链接:https://p…

    Linux 2023年6月14日
    0104
  • python语法01

    在某.py文件中调用其他.py文件中的内容。全局变量的使用。线程的使用。if name == ‘ main‘: 的作用新建两个python脚本文件f1Fil…

    Linux 2023年6月14日
    082
  • ArchLinux安装-2022-01-12

    这篇教程,是我基于B站up住theCW的视频教程整理的,其中添加了一些我在安装n次之后的经验(虽然失败过几次,但我现在安装不会再出差错,所以请放心的看此教程) 当然,我认为theC…

    Linux 2023年5月27日
    086
  • bash 教程-1 shell 基础 快捷键 目录堆栈 操作历史 [MD]

    我的GitHub 我的博客 我的微信 我的邮箱 bqt20094 baiqiantao@sina.com Bash 简介 Bash 是 Unix 系统和 Linux 系统的一种 S…

    Linux 2023年5月28日
    088
  • MSSQL·FOR XML PATH语法转义尖括号解决方案

    阅文时长 | 0.14分钟字数统计 | 225.6字符主要内容 | 1、引言&背景 2、示例及解决方案 3、声明与参考资料『MSSQL·FOR XML PATH语法转义尖括…

    Linux 2023年6月14日
    083
  • 使用多线程提高REST服务器性能

    异步处理REST服务 1、使用Runnable异步处理Rest服务 释放主线程,启用副线程进行处理,副线程处理完成后直接返回请求 主要代码 import java.util.con…

    Linux 2023年6月7日
    0112
  • ADB和Fastboot最新版的谷歌官方下载链接

    最新ADB及Fastboot版本说明(SDK Platform Tools 版本说明) ADB和Fastboot for Windows ADB和Fastboot for Mac …

    Linux 2023年6月7日
    098
  • Java — 面向对象

    简介:类是对事物的一种描述,对象则为具体存在的事物。 类的定义: public class 类名 { // 成员变量 访问修饰符 数据类型 变量名; … // 成员方法 访问修…

    Linux 2023年6月8日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球