数字证书与数字签名

数字证书与数字签名是 PKI(公钥基础设施)中相辅相成的两个核心概念,前者解决身份认证 问题,后者保障数据完整性与不可否认性

一、核心定义与作用

表格

维度 数字证书 (Digital Certificate) 数字签名 (Digital Signature)
本质 公钥的 "身份证" 数据的 "防伪封条"
核心作用 证明公钥归属,解决 "公钥真伪" 问题 验证数据来源与完整性,确保 "内容未被篡改"
签发 / 生成 由权威 CA(证书颁发机构) 签发 由数据发送方用自己的私钥生成
包含内容 持有者身份、公钥、有效期、CA 签名 数据的哈希摘要(经私钥加密)
验证方式 CA 的公钥 验证证书合法性 发送方的公钥 验证签名有效性

二、工作原理

  1. 数字签名

    • 签名 :发送方对原始数据计算哈希摘要,并用私钥加密,生成签名。
    • 验证 :接收方用发送方公钥解密签名,与自身重新计算的哈希摘要比对,一致则说明数据完整且来源可信。
    • 关键特性:完整性、不可否认性、不可伪造。
  2. 数字证书

    • 标准遵循 X.509 格式,由 CA 对 "持有者身份 + 公钥" 进行数字签名,形成证书。
    • 验证时,用 CA 公钥确认证书未被篡改,从而信任其中的公钥。

三、典型应用场景

  • HTTPS 通信:网站出示数字证书证明身份,浏览器验证后,用证书中的公钥加密传输会话密钥,后续用对称加密通信。
  • 电子合同:用个人 / 企业私钥对合同签名,他人用你提供的证书(含公钥)验证,确保合同不可篡改且你无法抵赖。
  • 代码 / 软件发布:开发者用私钥签名安装包,用户用证书验证,防止下载到被植入恶意代码的程序。

四、二者关系

  • 数字证书包含数字签名:证书的合法性由 CA 的数字签名保证。
  • 数字签名依赖数字证书:验证签名时,通常需要用证书中的公钥来确认签名者身份。

五、 典型传输流程

  • 发送方
    • 对数据做数字签名(用自己私钥)
    • 对称加密把【数据 + 签名】整体加密
  • 网络传输:全是密文,别人截了也看不懂
  • 接收方
    • 解密得到原文 + 签名
    • 用CA公钥验证证书,用证书中对方公钥验证签名,确认没被改、是谁发的
相关推荐
洒家肉山大魔王3 天前
PKI/CA X.509证书的基础应用与解读
服务器·https·密码学·数字证书
大犀牛牛2 个月前
开放签电子签章系统3.4版本更新内容
开源·数字签名·电子合同·电子签章
雁無痕2 个月前
数字证书系列之三 X.509证书
数字证书
雁無痕3 个月前
数字证书系列之一基础概念
数字证书
大犀牛牛3 个月前
开放签电子签章系统3.3.1版本更新内容
开源·数字签名·电子合同·电子签章
Tancenter3 个月前
区块链关键技术
区块链·哈希算法·数字签名
大犀牛牛3 个月前
拆解开放签电子签系统“一核多态”的SaaS产品版本管理实战
开源·数字签名·电子合同·电子签章
csdn_aspnet4 个月前
ASP.NET Core:创建并验证文档上的数字签名
.netcore·数字签名
weiwei228444 个月前
secp256k1算法详解五(kG点乘多梳状算法)
数字签名·椭圆曲线·secp256k1