证书学习(四)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证书 广泛使用于
HTTPS
、S/MIME
、SSL/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 的工作流程:
- 证书申请:终端实体向 RA 提交证书申请,包含个人信息和公钥。
- 身份验证:RA 验证终端实体的身份信息。
- 证书签发:CA 根据 RA 的验证结果签发数字证书,并使用自己的私钥对证书进行签名。
- 证书分发:证书通过安全的渠道分发给终端实体。
- 证书使用:终端实体使用证书进行加密、签名等操作。
- 证书验证:接收方验证证书的有效性,包括证书的签名、过期日期等。
- 证书撤销:当证书不再有效或需要提前撤销时,CA 会将证书加入 CRL 或通过 OCSP 发布撤销状态。
二、X.509证书 工作原理
X.509 标准基于一种 ASN.1(抽象语法表示法)
的 接口描述语言,这种接口描述语言定义了可以 跨平台方式序列化 和 反序列化 的数据结构。利用 ASN.1
,X.509 证书格式可以使用公钥和私钥来加密和解密信息。
X.509 证书 PEM 格式示例:
-----BEGIN CERTIFICATE-----
MIIDcjCCAlqgAwIBAgIEMAdjIzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJj
bjELMAkGA1UECBMCYmoxCzAJBgNVBAcTAmJqMQ4wDAYDVQQKEwViY
相关文章:

证书学习(四)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 证书扩展背景: 我们在日常的开发过程中,经常会遇到各种…...

氚云,低代码领风者如何破解行业的“中式焦虑”?
To B生意“难做”,很多公司的苦恼都难以掩盖。 上半年,一个“中国软件行业全军覆没”的帖子引发热烈讨论,评论竟是赞同的居多。那些以实现上市为目标的SaaS公司,或者已经上市的、主营业务为To B的企业,其整体的业绩状…...

“深入解析:MySQL半同步复制的配置指南与实践技巧“
本次配置是在已搭建好主从复制的架构中进行配置 配置环境 操作系统 master节点 slave节点 centos7 8.0.37 8.0.37 配置半同步复制 配置master 安装master半同步复制插件 INSTALL PLUGIN rpl_semi_sync_source SONAME semisync_source.so; 在MySQL的配置文件中添加配置…...

第四届长城杯部分wp
还是太菜了,要经常练了 1.BrickGame 读源码可以看到时间的值是由js设定的,所以控制台将timeleft的时间改成999999 通过游戏就可以得到flag 2.SQLUP 一道文件上传的题目,在登陆页面我用admin和1登陆成功了,但是按照正常的应该是…...

打造无死角安防网:EasyCVR平台如何助力智慧警务实现视频+AI的全面覆盖
一、背景概述 随着科技的飞速发展,智慧城市建设已成为提升社会治理能力、增强公共安全水平的重要途径。在警务领域,智慧警务作为智慧城市的重要组成部分,正通过融合视频监控技术与人工智能(AI)解决方案,实…...

批发订货系统源码怎么弄 门店订货系统小程序价格
上线批发订货系统可以显著提升业务效率和管理水平,它能够帮助企业自动化处理订单、实时跟踪库存、简化订单管理、生成数据报表…这些优势能最终帮助你降低成本、提高效率,提升业务竞争力。今天,小编为您分享批发订货系统源码怎么弄。大家点赞…...

终端安全如何防护?一文为你揭晓答案!
终端安全防护是确保组织内部网络及其连接设备免受威胁的关键措施。 以下是终端安全防护的一些核心方法: 1. 资产管理与识别 摸清家底:识别所有连接到网络的终端设备及其状态,包括硬件和软件配置。 资产分类:确定哪些资产最为关…...

价值流架构指南:构建业务创新与竞争优势的全面方法论
如何通过价值流引领企业数字化转型? 在当前数字化转型的背景下,企业面临的挑战日益复杂化:如何更快响应市场变化?如何优化资源配置提升效率?如何确保客户体验始终处于行业领先?《价值流指南》由The Open G…...

知识蒸馏(Knowledge Distillation)
Distilling the Knowledge in a Neural Network 知识蒸馏原理 1、Summarize 知识蒸馏技术 通过从大型的教师模型向小型的学生模型转移知识来实现模型压缩和优化。 知识蒸馏的核心思想是 利用教师模型在大量数据上积累的丰富知识,通过特定的蒸馏算法,使…...
【zsh】Linux离线安装zsh
首先从GitHub下载源码,然后编译源码后安装。以下是具体的步骤: 1. 下载并解压源码 首先,从GitHub下载了zsh源码的压缩包并解压到某个目录: tar -xvf zsh-<version>.tar.gz cd zsh-<version>2. 安装编译所需的依赖&…...

一款好用的电子样本册转换器
在数字化时代,电子样本册已成为各行各业必备的工具。一款好用的电子样本册转换器,可以让你在繁杂的资料管理中轻松解脱。今天,就为大家推荐一款实用的电子样本册转换神器,让你的工作效率翻倍! 工具推荐:FLB…...

TDesign:腾讯的开源企业级前端框架,能和ant-design一战吗?
TDesign 是一套拥有完整的 设计价值观 和 视觉风格指南 的企业级设计体系,同时提供了丰富的 设计资源。TDesign 在设计体系基础上产出基于 Vue、React、小程序等业界主流技术栈的组件库解决方案。是不是有点晚了? 请大家各抒己见。...

大语言模型LLM权重4bit向量量化(Vector Quantization)/查找表量化基本原理
参考 https://apple.github.io/coremltools/docs-guides/source/opt-palettization-overview.html https://apple.github.io/coremltools/docs-guides/source/opt-palettization-algos.html Apple Intelligence Foundation Language Models 苹果向量量化: DKM:…...

学习threejs,创建立方体,并执行旋转动画
文章目录 一、前言二、代码示例三、总结 一、前言 本文基于threejs,实现立方体的创建,并加入立方体旋转动画 二、代码示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>l…...

2024网安周今日开幕,亚信安全亮相30城
2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席20…...
Unity Qframework 加载UI的方式
如图所示 : // Resources 加载 UIKit.OpenPanel("Resources/UIPrefab/UIMenuPanel"); // Resources 加载并传递数据 UIKit.OpenPanel<UIMenuPanel>(new UIMenuPanelData() { m_Modle this.m_Modle }, prefabName: "UIPrefab/UIMenuPanel"); …...
使用 Python 创建自动抽奖程序
介绍 自动抽奖程序在各种场景中非常有用,比如社交媒体活动、公司抽奖、在线课程奖励等。在这篇博文中,我们将学习如何使用 Python 创建一个自动抽奖程序。我们将涵盖以下内容: 需求分析环境设置基本抽奖逻辑图形用户界面(GUI&am…...

推荐10款功能强大的电脑监控软
随着工作环境和信息安全要求的不断提高,越来越多的企业和个人开始关注电脑监控软件。电脑监控软件能够帮助管理者监控员工工作效率、保护敏感信息、防止数据泄露等。下面,我们将为大家推荐10款功能强大的电脑监控软件,涵盖国内外的知名产品&a…...

‘“node“‘ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
错误信息 使用vscode提交前端代码到git时,报下面的错,一直不知道啥原因,后来找到了个临时解决方案。。。 vscode解决方案 package.json文件中,去掉hooks的配置。 Idea解决方案 网上有说idea的解决方案的:就是提…...

MQ-135空气质量传感器(STM32)
目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.工作原理介绍 三、程序设计 main.c文件 mq135.h文件 mq135.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 MQ-135空气质量传感器属于MQ系列气体传感器,广泛用于检测有害气体、新鲜空气中的烟…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...