Package cn.gmkit.sm2

Class SM2Signatures

java.lang.Object
cn.gmkit.sm2.SM2Signatures

public final class SM2Signatures extends Object
SM2 签名编码转换工具。

提供 RAW 与 ASN.1 DER 两种常见签名格式之间的转换和自动识别。

  • Method Details

    • normalizeToRequested

      public static byte[] normalizeToRequested(byte[] signature, SM2SignatureFormat format)
      将 DER 签名规范化为请求的输出格式。
      Parameters:
      signature - DER 编码签名
      format - 目标输出格式;传入 null 时默认按 RAW 处理
      Returns:
      目标格式的签名
    • normalizeToDer

      public static byte[] normalizeToDer(byte[] signature, SM2SignatureInputFormat inputFormat)
      将输入签名规范化为 ASN.1 DER 格式。
      Parameters:
      signature - 原始签名
      inputFormat - 输入格式;传入 AUTO 时自动识别 RAW 与 DER
      Returns:
      DER 编码签名
      Throws:
      GmkitException - 当签名既不是合法 RAW 也不是合法 DER 时抛出
    • derToRaw

      public static byte[] derToRaw(byte[] derSignature)
      将 ASN.1 DER 签名转换为 RAW 格式。
      Parameters:
      derSignature - DER 编码签名
      Returns:
      64 字节的 RAW 签名(r||s)
      Throws:
      GmkitException - 当输入不是合法 DER 签名时抛出
    • rawToDer

      public static byte[] rawToDer(byte[] rawSignature)
      将 RAW 签名转换为 ASN.1 DER 格式。
      Parameters:
      rawSignature - 64 字节的 RAW 签名(r||s)
      Returns:
      DER 编码签名
      Throws:
      GmkitException - 当输入不是 64 字节 RAW 签名时抛出