IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> openssl中的一些名词解释 -> 正文阅读

[网络协议]openssl中的一些名词解释

前言

介绍openssl中的一些名词。

每个名词解释包含三部分:

  • 名词含义:对应的官方介绍。
  • 该名词对应的openssl 命令行的使用。
  • 该名词对应的openssl api。

名词解释

x.509

相关链接: x.509-wikix.509-官网

  1. X.509是密码学里公钥证书的格式标准。

    关于公钥证书的基本概念,可以参考《图解密码技术》- 结城浩 - 第10章 证书。
    这里,我们简单看下证书的相关内容。

  2. 首先,我们需要获取一份证书。我们获取下百度的证书。

    可以使用openssl-s_client导出证书。也可以直接在浏览器界面导出。

    在这里插入图片描述

    如果文件的后缀名保存为pemcer或者cert,可以直接双击打开。我倾向于将文件命名为baidu_cert.pem,表明它是百度的证书,为pem格式的文件。

    在这里插入图片描述

  3. 查看证书内容。我们可以像上面这样双击打开查看,也可以使用openssl-x509查看。

    ?  openssl x509 -in baidu_cert.pem -noout -text
    
  4. 上面openssl x509 命令对应的源码位于openssl/apps/x509.c

    相关的头文件定义在/usr/include/openssl/x509.h中。可以参考:OpenSSL中文手册之X509库详解(未完待续)

    证书请求的编码示例:证书请求简介


ASN.1

相关链接:ASN.1-wikiASN.1-官网

  1. ASN.1本身只定义了表示信息的抽象句法,但是没有限定其编码的方法。各种ASN.1编码规则提供了由ASN.1描述其抽象句法的数据的值的传送语法(具体表达)。标准的ASN.1编码规则有基本编码规则(BER,Basic Encoding Rules)、规范编码规则(CER,Canonical Encoding Rules)、唯一编码规则(DER,Distinguished Encoding Rules)、压缩编码规则(PER,Packed Encoding Rules)和XML编码规则(XER,XML Encoding Rules)。为了使ASN.1能够描述一些原先没有使用ASN.1定义,因此不适用上述任一编码规则的数据传输和表示的应用和协议,另外制订了ECN来扩展ASN.1的编码形式。ECN可以提供非常灵活的表明方法,但还没有得到普遍应用。

  2. 我们也可以使用openssl-asn1parse,查看上面证书内容。

    ?  file baidu_cert.pem
    baidu_cert.pem: PEM certificate
    
    ?  openssl asn1parse -i -inform PEM -in baidu_cert.pem
    
    	0:d=0  hl=4 l=2624 cons: SEQUENCE          
        4:d=1  hl=4 l=2344 cons:  SEQUENCE          
        8:d=2  hl=2 l=   3 cons:   cont [ 0 ]        
       10:d=3  hl=2 l=   1 prim:    INTEGER           :02
       13:d=2  hl=2 l=  12 prim:   INTEGER           :1198724F6674A3D621BFBEA2
       27:d=2  hl=2 l=  13 cons:   SEQUENCE          
       29:d=3  hl=2 l=   9 prim:    OBJECT            :sha256WithRSAEncryption
    

    每行都以十进制的偏移量开始。 d=XX 指定当前深度。深度在任何 SET 或 SEQUENCE 的范围内增加。 hl=XX 给出当前类型的标头长度(标记和长度字节)。 l=XX 给出内容字节的长度。

    PEM 是一种将二进制数据编码为字符串的方法。上面证书可以在PEM和DER格式之间转换。虽然格式不同,但存储的是相同的信息,而DER是ASN.1的一种编码方式。

  3. 上面openssl asn1parse 命令对应的源码位于openssl/apps/asn1parse.c。相关的头文件定义在/usr/include/openssl/asn1.h


还有pfx,pkcs7没有整理。整理思路和上面类似。暂不整理。


参考链接

What are the differences between .pem, .cer and .der?

What is a Pem file and how does it differ from other OpenSSL Generated Key File Formats?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-06 11:19:09  更:2022-05-06 11:19:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:36:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码