首页 > 编程语言 >[网络/HTTPS/Java] PKI公钥基础设施体系:基础概念篇

[网络/HTTPS/Java] PKI公钥基础设施体系:基础概念篇

时间:2024-04-09 10:11:20浏览次数:26  
标签:公钥 Java 证书 CA 密钥 HTTPS PKI 数字证书

0 序

  • 看过上一篇文章、且有点懵的朋友,可以参看本篇————针对PKI体系的核心概念进行解释。

1 PKI体系(公开密钥基础设施体系)

1.1 PKI体系是什么?

  • PKIPublic Key Infrastructure 的缩写,中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施

  • PKI主要功能绑定证书持有者的身份相关的密钥对(通过为公钥相关的用户身份信息签发【数字证书】),为用户提供方便的证书申请证书作废证书获取证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证完整性抗抵赖性保密性

  • PKI 既不是一个协议,也不是一个软件,它是一个标准,在这个标准之下发展出的为了实现安全基础服务目的的技术统称为 PKI

  • 百度百科的PKI定义:

PKIPublic Key Infrastructure公钥基础设施提供公钥加密和数字签名服务的系统或平台目的是为了管理密钥和证书
一个机构通过采用 PKI 框架管理密钥和证书可以建立一个安全的网络环境。
PKI 主要包括四个部分:

  • X.509 格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);
  • CA 操作协议;
  • CA 管理协议;
  • CA 政策制定
  • CA中心机构——CA系统——数字证书
  • CA 中心机构:管理并运营 CA 系统

负责管理并运营 CA 系统的机构称为 CA 中心机构

  • CA 系统:负责颁发数字证书
  • 专门负责颁发数字证书的系统称为 CA 系统
  • 所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。

PKI 的本质是把非对称密钥管理进行标准化

  • 数字证书:解决公钥与用户映射关系问题;
  • CA:解决数字证书签发问题;
  • KMC:解决私钥的备份与恢复问题;
  • 双证书机制:「签名证书私钥」只用于签名验签,「加密证书私钥」只用于加密解密
  • LDAP:解决数字证书查询和下载的性能问题,避免 CA 中心成为性能瓶颈。
  • CRL(证书作废列表) 和 OSCP(在线证书状态协议):方便用户快速获得证书状态。
  • RA:方便证书业务远程办理、方便证书管理流程与应用系统结合。
  • 电子认证服务机构:保证 CA 系统在数字证书管理方面的规范性、合规性和安全性。

1.2 PKI 基本组件

  • 完整的 PKI 系统必须具有数字证书、v认证中心(CA)证书库证书吊销系统密钥备份及恢复系统PKI 应用接口系统**等构成部分。
组件 描述
数字证书 包含了用于签名和加密数据的公钥的电子凭证,是PKI的核心元素
认证中心(CA) 数字证书的申请及签发机关,CA必须具备权威性
证书资料库 存储已签发的数字证书和公钥,以及相关证书目录,用户可由此获得所需的其他用户的证书及公钥
证书吊销列表(CRL)/OCSP 在有效期内吊销的证书列表,在线证书状态协议OCSP是获得证书状态的国际协议
密钥备份及恢复 为避免因用户丢失解密密钥而无法解密合法数据的情况,PKI提供备份与恢复密钥的机制。必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥不能够作备份
PKI应用接口(API) 为各种各样的应用提供安全、一致、 可信的方式与PKI交互,确保建立起来的网络环境安全可靠,并降低管理成本

1.3 数字证书分类

X 参考文献

标签:公钥,Java,证书,CA,密钥,HTTPS,PKI,数字证书
From: https://www.cnblogs.com/johnnyzen/p/18123272

相关文章

  • JAVA------基础篇
    java基础1.JDKJDK:javadevelopmentkitJRE:javaruntimeenvironmentJDK包含JREjava跨平台:因为java程序运行依赖虚拟机,虚拟机需要有对应操作系统的版本,而jre中有虚拟机。当你想要在Linux系统下运行,则需要安装对应的虚拟机,及对应的jdk版本,而对应的jdk版本中的jre有对......
  • openGauss 支持PL-Java
    支持PL/Java可获得性本特性自openGauss1.0.0版本开始引入。特性简介支持javaUDF。客户价值提供多种函数的开发环境。特性描述使用openGauss数据库的PL/Java函数,用户可以使用自己喜欢的JavaIDE编写Java方法,并将包含这些方法的jar文件安装到openGauss数据库中,然后使用该......
  • 「Java开发指南」如何利用MyEclipse启用Spring DSL?(一)
    本教程将引导您通过启用SpringDSL和使用ServiceSpringDSL抽象来引导Spring和Spring代码生成项目,本教程中学习的技能也可以很容易地应用于其他抽象。在本教程中,您将学习如何:为SpringDSL初始化一个项目创建一个模型包创建一个服务和操作实现一个服务方法启用JAX-WS和DWR......
  • java计算机毕业设计房地产公司员工工单管理系统(附源码+springboot+开题+论文+部署)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着房地产行业的迅猛发展,企业内部的运营和管理面临着越来越高的要求。特别是在员工工单管理方面,传统的纸质工单或简单的电子记录方式已经无法满足企......
  • java计算机毕业设计房产中介管理(附源码+springboot+开题+论文+部署)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当前的房地产市场环境下,房产中介作为连接买卖双方的重要桥梁,其运营效率和服务质量直接影响到市场的健康发展和客户的满意度。然而,传统的房产中介管......
  • Java,MySQL,JDBC,Jackson时区问题
    Java,MySQL,JDBC,Jackson时区问题今天做了一个测试,主要是测试给时区参数设置不同的值,会出现什么样的问题。数据库是UTC时区。JDBC连接是GMT+8。jackson默认是UTC。JVM时区GMT+8。从数据库中查询的时间是正确的的,jackson会将时间缩短8个小时。数据库是UTC时区。JDBC连接是GMT+......
  • 狂神说Java Web学习笔记_Servlet
    Servlet简介Servlet是sun公司开发的动态web的一门技术。提供的其中一个接口叫Servlet。把实现了Servlet接口的Java程序叫Servlet。HelloServletServlet在Sun公司有两个默认实现类,HttpServlet,GenericServlet。importjavax.servlet.ServletException;importjavax.servlet.ht......
  • Java基础知识总结(44)
    (1)Arrays工具类Java提供了Arrays工具类,里面包含了一些方法,可以直接操作数组。1、intbinarySearch(long[]a,longkey):使用二分查找法查询key元素值在数组a中出现的索引,如果a数组不包含key元素,则返回负数,调用此方法时要求数组中的元素已经按升序排列。先排序再......
  • Java基础知识总结(45)
    (3)类和对象      类是面向对象的重要内容,可以把类当做一种自定义类型,可以使用类来定义变量,这种类型的变量统称为引用类型变量。(4)定义类      类是对一批对象的抽象,可以把类理解成某个群体,对象则是具体的存在。      [修饰符]class类名{   ......
  • java的封装
    在Java中,封装是面向对象编程中的一种重要概念,它指的是将数据和方法打包在一个单一的单位(类)中,并对外部隐藏对象的内部细节。封装通过将类的成员变量声明为私有的,并提供公共的方法来访问和修改这些变量,从而实现了数据隐藏和安全性。封装的主要目的有以下几点:数据隐藏:封装允许......