Package cn.gmkit.sm2
Class SM2Signatures
java.lang.Object
cn.gmkit.sm2.SM2Signatures
SM2 签名编码转换工具。
提供 RAW 与 ASN.1 DER 两种常见签名格式之间的转换和自动识别。
-
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]derToRaw(byte[] derSignature) 将 ASN.1 DER 签名转换为 RAW 格式。static byte[]normalizeToDer(byte[] signature, SM2SignatureInputFormat inputFormat) 将输入签名规范化为 ASN.1 DER 格式。static byte[]normalizeToRequested(byte[] signature, SM2SignatureFormat format) 将 DER 签名规范化为请求的输出格式。static byte[]rawToDer(byte[] rawSignature) 将 RAW 签名转换为 ASN.1 DER 格式。
-
Method Details
-
normalizeToRequested
将 DER 签名规范化为请求的输出格式。- Parameters:
signature- DER 编码签名format- 目标输出格式;传入null时默认按 RAW 处理- Returns:
- 目标格式的签名
-
normalizeToDer
将输入签名规范化为 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 签名时抛出
-