当前位置: 首页 > article >正文

证书学习(四)X.509数字证书整理

目录

    • 一、X.509证书 介绍
      • 1.1 什么是 X.509证书?
      • 1.2 什么是 X.509标准?
      • 1.3 什么是 PKI?
    • 二、X.509证书 工作原理
      • 2.1 证书认证机构(CA)
      • 2.1 PKI 的基础——加密算法
      • 2.2 PKI 证书编码
    • 三、X.509证书 结构
      • 3.1 证书字段
      • 3.2 证书扩展

背景:

  • 我们在日常的开发过程中,经常会遇到各种各样的电子证书文件,其实我们常见的 .p12.pfx.crt.csr.pem.key 后缀的文件都是 X.509 证书。
  • 本篇文章就让我们一起来学习了解一下,什么是 X.509 证书?

一、X.509证书 介绍

1.1 什么是 X.509证书?

X.509证书 是一种遵循 X.509标准(RFC 5280) 的数字证书,是目前 世界上使用最广泛 的数字证书类型,用于验证网络通信中的实体身份。

  • 它包含了:公钥证书认证机构(CA)信息有效期序列号,以及证书持有者的其他 元数据
  • X.509证书 广泛使用于 HTTPSS/MIMESSL/TLS 等安全协议中,以确保双方的身份真实性。
  • 除了 X.509证书 这种类型之外,数字证书还有其他类型的证书,如 PGP证书,主要在 PGP 加密系统中验证密钥的归属。

1.2 什么是 X.509标准?

X.509标准 是由 ITU(国际电信联盟) 制定的 一套数字证书标准,它是 PKI(公钥基础设施)标准格式

想了解更多的话,可以找官方资料阅读一下。

国家标准(中文文档):《GB/T 20518-2018 信息安全技术 公钥基础设施 数字证书格式.pdf》

在这里插入图片描述

1.3 什么是 PKI?

PKI(Public Key Infrastructure),即公钥基础设施,是一种用于 管理验证 数字证书的 框架体系。PKI 提供了一种安全的方式来管理公钥加密技术,确保、确信双方能够信任对方的身份,并保证数据传输的安全性。

PKI 的工作流程:

  1. 证书申请:终端实体向 RA 提交证书申请,包含个人信息和公钥。
  2. 身份验证:RA 验证终端实体的身份信息。
  3. 证书签发:CA 根据 RA 的验证结果签发数字证书,并使用自己的私钥对证书进行签名。
  4. 证书分发:证书通过安全的渠道分发给终端实体。
  5. 证书使用:终端实体使用证书进行加密、签名等操作。
  6. 证书验证:接收方验证证书的有效性,包括证书的签名、过期日期等。
  7. 证书撤销:当证书不再有效或需要提前撤销时,CA 会将证书加入 CRL 或通过 OCSP 发布撤销状态。

二、X.509证书 工作原理

X.509 标准基于一种 ASN.1(抽象语法表示法)接口描述语言,这种接口描述语言定义了可以 跨平台方式序列化反序列化 的数据结构。利用 ASN.1,X.509 证书格式可以使用公钥和私钥来加密和解密信息。

X.509 证书 PEM 格式示例:

-----BEGIN CERTIFICATE-----
MIIDcjCCAlqgAwIBAgIEMAdjIzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJj
bjELMAkGA1UECBMCYmoxCzAJBgNVBAcTAmJqMQ4wDAYDVQQKEwViY

http://www.kler.cn/a/301364.html

相关文章:

  • GNN初探
  • Failed to create a temp file - Jenkins 无法创建任务
  • 如何在 Ubuntu 上安装 Emby 媒体服务器
  • UNI-APP小程序答题功能开发(左右滑动,判断,填空,问答,答题卡,纠错,做题倒计时等)
  • 鸿蒙实战:页面跳转
  • 【JAVA】使用IDEA创建maven聚合项目
  • springcloud-GateWay
  • 大语言模型:AI 时代的文字计算器?
  • Vue2和Vue3子组件向父组件传值
  • INIC6081量产工具下载,initio6081开卡软件分享
  • 前端自定义下载文件名
  • 第一篇 第3章 不确定型分析 第4章 设备更新分析 第5章价值工程
  • 基于SpringBoot+Vue的超市外卖管理系统
  • vue3使用provide和inject传递异步请求数据子组件接收不到
  • 大文件切片上传-vue3.0
  • 如何在VUE3中使用函数式组件
  • ecmascript和javascript的区别?
  • 从底层原理上理解ClickHouse 中的稀疏索引
  • 相互作用先验下的 3D 分子生成扩散模型 - IPDiff 评测
  • Hbase的简单使用示例
  • 在 RT-Thread 上使用单色屏 UI 库 - U8G2
  • 【Shiro】Shiro 的学习教程(四)之 SpringBoot 集成 Shiro 原理
  • 海外云手机是否适合运营TikTok?
  • Kubernetes部署(haproxy+keepalived)高可用环境和办公网络打通
  • Java 21的Preferences API的笔记
  • 分布式中间件-几个常用的消息中间件