文档章节

ATECC508A芯片开发笔记(六):产生CSR以及申请证书(X.509)流程及其内容分析

H
 HowieXue
发布于 2017/07/19 21:48
字数 817
阅读 453
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

ATECC508A芯片开发笔记(六):产生CSR以及申请证书(X.509)流程及其内容分析

  • 508A产生CSR文件流程
  • CSR文件内容分析
  • 由CSR签发下来的证书内容分析

一、508A产生CSR文件流程

上节提到,在Provisoin时508A会产生至少一对公私钥,然后使用其公钥产生一个CSR(Certificate Signing Request)文件,

  • CSR文件中其实完整包含了该公钥,还包含一些X.509证书格式的必备参数数据,并且利用设备PrivateKey对CSR文件进行签名,附在CSR最后面组成CSR文件。
    -
  • Server在收到CSR文件后,首先会利用其中的设备PublicKey验证CSR签名是否正确,然后根据请求内容补充(颁发)完整的证书,既一个完整的X509格式证书。

完成上述步骤后,Server会将证书发送给Signer进行签名,该过程分为三步:

  • (1)Signer对证书TBS(To be signed)部分用摘要算法(例如SHA256,CSR请求中会指明)算一个HASH值(32Byte)
  • (2)Server根据CSR指明的非对称加密算法(例如ECCP256)对该Hash值进行加密(这个过程既签名
  • (3)Server将签名后的数据(ECC为64byte)附在证书主体内容后面,同时将证书和签名一起返回给Server。

二、CSR文件内容分析

利用Openssl工具查看产生的CSR文件,如下图:
这里写图片描述

  • CSR中可以看出,结合X.509证书格式,一个CSR必须具备VersionSubject以及Attributes。其中Subject中,包含所申请证书的C(Country),O(Organization)以及CN(CommonName)等描述部分。

  • 之后就是Subject - PublicKey部分,会明确PublicKey使用的非对称算法,例如图中为id-ecPubKey,紧接着为Device的公钥,最后附上了ECC曲线的OID,既使用P-256Curve

  • 再往下,就是证书扩展部分,包括KeyUsage(本例为数字签名)、扩展KeyUsage等等。最后部分就是前面部分,可以看到明确了签名算法为ecdsa,并且用sha256算digest(Server首先会验证该签名,保证其完整性)。


三、由CSR签发下来的证书内容分析

下图为CSR签发下来的证书:(仅仅是测试508A用的Demo证书)

这里写图片描述

  • 证书内容和CSR请求是一一对应的,也都是X.509证书格式规范,只不过Signer签名部分是全新的数据,这也是PKI的主要思想之一。

证书内容解析是根据ASN1格式,并且结合X.509定义的证书内容(例如证书开头都为30 82,后面跟2个字节长度):

这里写图片描述

多提几句:X.509证书都是ASN1格式的,包括CSR,但用508A生成的CSR不一定是ASN1格式,所以要先转换下格式,发送给Server才能识别。

反过来,如果使用证书数据,例如使用Publickey等数据,用于自己验证签名,也要对其格式进行变换。 (可以用些小工具,如base64转Hex助手,或者代码实现)


欢迎转载,Howie原创作品,本文地址:

http://blog.csdn.net/howiexue/article/details/75268237

谢谢

H
粉丝 0
博文 13
码字总数 12540
作品 0
私信 提问
加载中
请先登录后再评论。
OPENSSL使用方法

OPENSSL使用方法 前置知识 KEY 通常指私钥。 CSR 是 Certificate Signing Request 的缩写,即证书签名请求,这不是证书,只是包含申请证书的基本信息。生成证书时要把这个提交给权威的证书颁...

osc_br82o7vz
2019/08/05
1
0
简述Key与CSR的区别

什么是Key Key通常用来存放一个公钥或者私钥,并非X.509证书,编码同样的,可能是PEM,也可能是DER。证书自身拥有一个密钥对(即一个公钥和一个私钥),由公钥(Public Key)与私钥(Private Key...

HANDAND
2019/01/08
799
0
SSL证书介绍

什么是SSL证书 SSL证书跟驾照有点类似。在驾照里,关键信息有几点: 我是谁(身份证信息) 驾照是谁颁发的(交通部) 驾照是否过期(过期时间) 我能做什么(能开什么车) 在SSL证书里也是类...

seraphln
2016/08/31
49
0
Android安全开发之安全使用HTTPS

1、HTTPS简介 阿里聚安全的应用漏洞扫描器中有证书弱校验、主机名弱校验、webview未校验证书的检测项,这些检测项是针对APP采用HTTPS通信时容易出现风险的地方而设。接下来介绍一下安全使用H...

阿里聚安全
2016/10/08
1K
1
[信息安全] 05 X.509 公钥证书的格式标准

X.509是# 公钥证书的格式标准, 广泛用于TLS/SSL安全通信或者其他需要认证的环境中。X.509证书可以由# CA颁发,也可以自签名产生。 1 Overview {#1-overview} X.509证书中主要含有、、和等信息...

osc_mfn168vg
02/17
7
0

没有更多内容

加载失败,请刷新页面

加载更多

还在用Swagger(丝袜哥)生成接口文档?我推荐你试试它.....

JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。 编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后...

路人甲Java
07/09
7
0
智能仓储的独角兽逻辑

智能仓储的主要应用市场在哪里?客户的付费意愿和付费能力如何? 1、仓储设备具备标准化和通用化特点 由于电商和新零售的快速发展,轻工业品零售仓库的需求量大幅增加。而中国又是全球轻工业...

logiter
2019/08/23
14
0
可是小腿哪能扭过大腿

父亲是一个特别勤苦的人,他从不睡懒觉,每天天麻麻亮,或是下地干活,或是在家搞副业,或是拿着铁锨、粪筐,到路边,到村子周围,到牲畜常出入的地方,去拾粪蛋子,为庄稼积攒肥料,父亲不仅...

瑾123
37分钟前
16
0
一个volatile跟面试官扯了半个小时

《安琪拉与面试官二三事》系列文章,本文是此系列第三篇 一个HashMap能跟面试官扯上半个小时 一个synchronized跟面试官扯了半个小时 欢迎关注Wx公众号:【安琪拉的博客】—揭秘Java后端技术,...

osc_6ls9vwji
38分钟前
0
0
内网渗透靶机-VulnStack 2

WEB服务器:windows2008系统 外网网卡IP:192.168.1.152 内网网卡IP:10.10.10.80 域成员:windows server 2003系统 网卡IP:10.10.10.200 域控服务器:windows server 2008系统 网卡IP:192...

dnsil
07/10
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部