联盟链系列 - 证书 - 公钥基础结构(PKI)

本文深入解析公钥基础设施(PKI)的核心概念,包括其在创建、存储和分发数字证书中的作用,以及验证实体公钥的有效性。涵盖PKI的主要组件如CA、RA和证书数据库,同时介绍了一些开源实现,如OpenSSL、EJBCA和XiPKI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PKI

公钥基础结构(PKI)是用于创建,存储和分发数字证书的系统,这些证书用于验证特定公钥是否属于某个实体。PKI创建将公共密钥映射到实体的数字证书,将这些证书安全地存储在中央存储库中,并在需要时将其吊销。

一个 public key infrastructure(PKI)是一组角色,策略,硬件,软件和创建,管理,分发所需的程序,使用,储存和吊销数字证书和管理公共密钥加密。

PKI至少包括如下核心组件:

  • CA(Certification Authority):负责证书的颁发和作废,接收来自RA的请求,是最核心的部分;
  • RA(Registration Authority):对用户身份进行验证,校验数据合法性,负责登记,审核过了就发给CA;
  • 证书数据库:存放证书,多采用X.500系列标准格式。可以配合LDAP目录服务管理用户信息。
  • [option]VA (验证机构): 托管CRL(证书吊销列表), 提供用于验证数字证书有效性的服务
    在这里插入图片描述
    常见的操作流程为,用户通过RA登记申请证书,提供身份和认证信息等;CA审核后完成证书的制造,颁发给用户。用户如果需要撤销证书则需要再次向CA发出申请

参考: PKI - WIKI

开源实现

  • OpenSSL是CA和PKI工具的最简单形式。它是一个用C语言开发的工具包,已包含在所有主要的Linux发行版中,可用于构建自己的(简单的)CA和启用PKI的应用程序。(Apache许可
  • EJBCA是用Java开发的功能齐全的企业级CA实施。它既可以用于内部使用也可以作为服务设置CA。(LGPL许可
  • XiPKI,[26] CA和OCSP响应者。具有SHA3支持,以Java实现。(Apache许可
  • OpenCA是使用许多不同工具的功能齐全的CA实施。OpenCA使用OpenSSL进行基础PKI操作。
  • XCA是图形界面和数据库。XCA使用OpenSSL进行基础PKI操作。
  • (已停产)TinyCA是OpenSSL的图形界面。
  • IoT_pki是使用python 加密库构建的简单PKI
  • DogTag是功能齐全的CA,作为Fedora项目的一部分进行开发和维护。
  • CFSSL [27] [28]CloudFlare开发的开放式源代码工具包,用于签名,验证和捆绑TLS证书。(BSD 2条款许可
  • HashiCorp开发的用于安全管理机密(包括TLS证书)的Vault [29]工具。(获得Mozilla Public License 2.0许可
  • Libhermetik是一个嵌入在C语言库中的自包含公钥基础结构系统。Hermetik将LibSodium用于所有加密操作,并将SQLite用于所有数据持久性操作。该软件是开源的,并根据ISC许可发布。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖魁首

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值