Class OpenSign
java.lang.Object
cloud.opencode.base.crypto.OpenSign
Digital signature facade for signing and verification - Provides convenient API for various signature algorithms
数字签名门面类 - 为各种签名算法提供便捷的 API
Features | 主要功能:
- EdDSA signing (Ed25519, Ed448) - EdDSA 签名(Ed25519、Ed448)
- ECDSA signing (P-256, P-384, P-521) - ECDSA 签名(P-256、P-384、P-521)
- RSA and RSA-PSS signing - RSA 和 RSA-PSS 签名
- SM2 signing (Chinese national standard) - SM2 签名(中国国密标准)
- Hex and Base64 output encoding - 十六进制和 Base64 输出编码
Usage Examples | 使用示例:
OpenSign signer = OpenSign.ed25519();
KeyPair keyPair = signer.generateKeyPair();
signer.setKeyPair(keyPair);
byte[] signature = signer.sign("message");
boolean valid = signer.verify("message", signature);
Security | 安全性:
- Thread-safe: No - 线程安全: 否
- Null-safe: Yes - 空值安全: 是
- Since:
- JDK 25, opencode-base-crypto V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic OpenSignCreate ECDSA P-256 signer 创建 ECDSA P-256 签名器static OpenSignCreate ECDSA P-384 signer 创建 ECDSA P-384 签名器static OpenSignCreate ECDSA P-521 signer 创建 ECDSA P-521 签名器static OpenSigned25519()Create Ed25519 signer (recommended) 创建 Ed25519 签名器(推荐)static OpenSigned448()Create Ed448 signer 创建 Ed448 签名器Generate key pair for this algorithm 生成此算法的密钥对Get algorithm name 获取算法名称static OpenSignof(SignatureAlgorithm algorithm) Create signer by algorithm enum 根据算法枚举创建签名器static OpenSignrsaPss()Create RSA-PSS signer 创建 RSA-PSS 签名器static OpenSignCreate RSA-PSS-SHA384 signer 创建 RSA-PSS-SHA384 签名器static OpenSignCreate RSA-PSS-SHA512 signer 创建 RSA-PSS-SHA512 签名器setKeyPair(KeyPair keyPair) Set key pair for signing and verification 设置签名和验签的密钥对setPrivateKey(PrivateKey privateKey) Set private key for signing 设置签名私钥setPublicKey(PublicKey publicKey) Set public key for verification 设置验签公钥static OpenSignCreate RSA-SHA256 signer 创建 RSA-SHA256 签名器static OpenSignCreate RSA-SHA384 signer 创建 RSA-SHA384 签名器static OpenSignCreate RSA-SHA512 signer 创建 RSA-SHA512 签名器byte[]sign(byte[] data) Sign data 签名数据byte[]Sign string (UTF-8) 签名字符串(UTF-8)signBase64(byte[] data) Sign data and return as Base64 string 签名并返回 Base64 字符串signBase64(String data) Sign string and return as Base64 string 签名字符串并返回 Base64 字符串signHex(byte[] data) Sign data and return as hex string 签名并返回十六进制字符串Sign string and return as hex string 签名字符串并返回十六进制字符串static OpenSignsm2()Create SM2 signer (requires Bouncy Castle) 创建 SM2 签名器(需要 Bouncy Castle)booleanverify(byte[] data, byte[] signature) Verify signature 验证签名booleanVerify signature of string 验证字符串签名booleanverifyBase64(byte[] data, String signatureBase64) Verify Base64-encoded signature 验证 Base64 编码的签名booleanverifyBase64(String data, String signatureBase64) Verify Base64-encoded signature of string 验证字符串的 Base64 编码签名booleanVerify hex-encoded signature 验证十六进制编码的签名booleanVerify hex-encoded signature of string 验证字符串的十六进制编码签名Generate key pair and set it 生成密钥对并设置
-
Method Details
-
ed25519
Create Ed25519 signer (recommended) 创建 Ed25519 签名器(推荐)- Returns:
- OpenSign instance
-
ed448
-
ecdsaP256
Create ECDSA P-256 signer 创建 ECDSA P-256 签名器- Returns:
- OpenSign instance
-
ecdsaP384
Create ECDSA P-384 signer 创建 ECDSA P-384 签名器- Returns:
- OpenSign instance
-
ecdsaP521
Create ECDSA P-521 signer 创建 ECDSA P-521 签名器- Returns:
- OpenSign instance
-
sha256WithRsa
Create RSA-SHA256 signer 创建 RSA-SHA256 签名器- Returns:
- OpenSign instance
-
sha384WithRsa
Create RSA-SHA384 signer 创建 RSA-SHA384 签名器- Returns:
- OpenSign instance
-
sha512WithRsa
Create RSA-SHA512 signer 创建 RSA-SHA512 签名器- Returns:
- OpenSign instance
-
rsaPss
-
rsaPssSha384
Create RSA-PSS-SHA384 signer 创建 RSA-PSS-SHA384 签名器- Returns:
- OpenSign instance
-
rsaPssSha512
Create RSA-PSS-SHA512 signer 创建 RSA-PSS-SHA512 签名器- Returns:
- OpenSign instance
-
sm2
Create SM2 signer (requires Bouncy Castle) 创建 SM2 签名器(需要 Bouncy Castle)- Returns:
- OpenSign instance
-
of
Create signer by algorithm enum 根据算法枚举创建签名器- Parameters:
algorithm- signature algorithm- Returns:
- OpenSign instance
-
setPrivateKey
Set private key for signing 设置签名私钥- Parameters:
privateKey- private key- Returns:
- this instance for chaining
-
setPublicKey
-
setKeyPair
-
sign
public byte[] sign(byte[] data) Sign data 签名数据- Parameters:
data- data to sign- Returns:
- signature bytes
-
sign
Sign string (UTF-8) 签名字符串(UTF-8)- Parameters:
data- string to sign- Returns:
- signature bytes
-
signHex
Sign data and return as hex string 签名并返回十六进制字符串- Parameters:
data- data to sign- Returns:
- hex signature
-
signHex
-
signBase64
Sign data and return as Base64 string 签名并返回 Base64 字符串- Parameters:
data- data to sign- Returns:
- Base64 signature
-
signBase64
-
verify
public boolean verify(byte[] data, byte[] signature) Verify signature 验证签名- Parameters:
data- original datasignature- signature bytes- Returns:
- true if valid
-
verify
Verify signature of string 验证字符串签名- Parameters:
data- original stringsignature- signature bytes- Returns:
- true if valid
-
verifyHex
Verify hex-encoded signature 验证十六进制编码的签名- Parameters:
data- original datasignatureHex- hex-encoded signature- Returns:
- true if valid
-
verifyHex
-
verifyBase64
Verify Base64-encoded signature 验证 Base64 编码的签名- Parameters:
data- original datasignatureBase64- Base64-encoded signature- Returns:
- true if valid
-
verifyBase64
-
generateKeyPair
Generate key pair for this algorithm 生成此算法的密钥对- Returns:
- generated key pair
-
withGeneratedKeyPair
Generate key pair and set it 生成密钥对并设置- Returns:
- this instance for chaining
-
getAlgorithm
-