SecureApi使用文档SecureApi使用文档
主页
开始使用
版本历史
  • 中国大陆
  • 国际
  • 简体中文
  • English
主页
开始使用
版本历史
  • 中国大陆
  • 国际
  • 简体中文
  • English
  • 快速开始

    • 开始使用
    • 安装
    • 配置
    • 试一下
  • 指南

    • 注解
    • URL匹配
    • 异常处理
    • 加密算法
    • CipherUtils
    • 两种模式
    • DH密钥协商
    • 数字签名校验
  • JS示例
  • 最佳实践
  • 微服务调用
  • 黑金刚

数字签名校验

简介

数字签名在信息安全领域扮演着至关重要的角色,其主要作用包括但不限于以下几个方面:

  • 数据完整性:数字签名能够确保信息在传输过程中未被篡改。如果接收方收到的数据与发送方发送的数据不一致(例如,在传输过程中被第三方修改),数字签名验证将会失败,从而提醒接收方数据的完整性已被破坏。
  • 身份验证:数字签名可以用来验证消息确实来自于声称的发送者。因为只有拥有正确私钥的人才能生成有效的数字签名,所以签名的存在和有效性可以作为发送者身份的一个证明。
  • 不可否认性:一旦某人用其私钥对信息进行了签名,他就不能否认这一行为。这是因为除了该私钥的所有者,其他任何人都无法生成正确的签名。这为交易、合同等提供了法律上的证据。
  • 防止重放攻击:通过在签名中包含时间戳或其他唯一标识符,数字签名可以帮助防止重放攻击,即攻击者重复发送截获的信息以试图产生未经授权的影响。
  • 增强信任:在电子商务和其他在线交易中,数字签名增加了双方之间的信任度。买家和卖家可以通过数字签名确认对方的身份,并确信交易条款不会被篡改。

用法

1、后端在配置中开启数字签名校验,可以不配置数字签名密钥,有自己自动生成并打印在控制台

2、前端使用第1步生成的数字签名私钥来对发送到接口的数据进行签名,并携带在请求头中的X-signature中(生成的签名时要注意后端是否开启了 isUrlSafe 配置,开启后前端生成的签名必须是 url safe 的)

3、后端的组件会自动使用公钥对X-signature签名进行校验

4、后端返回给前端的数据生成数字签名的方法是,在Controller中注入RsaSignatureUtils,调用rsaSignatureUtils.sign(byte[] data)方法

在 Github 上编辑
最近更新:
编著者: XuYijie
Prev
DH密钥协商