Package org.miaixz.bus.crypto.center
Class Sign
- All Implemented Interfaces:
Serializable
签名包装,
Signature 包装类- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
FieldsFields inherited from class org.miaixz.bus.crypto.builtin.asymmetric.Asymmetric
algorithm, lock, privateKey, publicKey -
Constructor Summary
ConstructorsConstructorDescription构造,创建新的私钥公钥对构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证Sign(String algorithm, PrivateKey privateKey, PublicKey publicKey) 构造Sign(org.miaixz.bus.core.lang.Algorithm algorithm) 构造,创建新的私钥公钥对Sign(org.miaixz.bus.core.lang.Algorithm algorithm, byte[] privateKey, byte[] publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证Sign(org.miaixz.bus.core.lang.Algorithm algorithm, PrivateKey privateKey, PublicKey publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证 -
Method Summary
Modifier and TypeMethodDescriptiondigestHex(InputStream data, int bufferLength) 生成签名,并转为16进制字符串 使用默认缓存大小,见Normal._8192获得签名对象init(String algorithm, PrivateKey privateKey, PublicKey publicKey) 初始化setCertificate(Certificate certificate) 设置Certificate为PublicKey 如果Certificate是X509Certificate,我们需要检查是否有密钥扩展setParameter(AlgorithmParameterSpec params) 设置签名的参数setSignature(Signature signature) 设置签名byte[]sign(byte[] data) 用私钥对信息生成数字签名byte[]sign(InputStream data) 生成签名,使用默认缓存大小,见Normal._8192byte[]sign(InputStream data, int bufferLength) 生成签名byte[]生成文件签名byte[]生成文件签名signHex(byte[] data) 生成签名,并转为16进制字符串signHex(InputStream data) 生成签名,并转为16进制字符串 使用默认缓存大小,见Normal._8192生成文件签名生成文件签名,并转为16进制字符串booleanverify(byte[] data, byte[] sign) 用公钥检验数字签名的合法性Methods inherited from class org.miaixz.bus.crypto.builtin.asymmetric.Asymmetric
getKeyByType, getPrivateKey, getPrivateKeyBase64, getPublicKey, getPublicKeyBase64, initKeys, setKey, setPrivateKey, setPublicKey
-
Field Details
-
signature
签名,用于签名和验证
-
-
Constructor Details
-
Sign
public Sign(org.miaixz.bus.core.lang.Algorithm algorithm) 构造,创建新的私钥公钥对- Parameters:
algorithm-Algorithm
-
Sign
构造,创建新的私钥公钥对- Parameters:
algorithm- 算法
-
Sign
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证- Parameters:
algorithm-AlgorithmprivateKey- 私钥Hex或Base64表示publicKey- 公钥Hex或Base64表示
-
Sign
public Sign(org.miaixz.bus.core.lang.Algorithm algorithm, byte[] privateKey, byte[] publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证- Parameters:
algorithm-AlgorithmprivateKey- 私钥publicKey- 公钥
-
Sign
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证- Parameters:
algorithm-AlgorithmkeyPair- 密钥对(包括公钥和私钥)
-
Sign
public Sign(org.miaixz.bus.core.lang.Algorithm algorithm, PrivateKey privateKey, PublicKey publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证- Parameters:
algorithm-AlgorithmprivateKey- 私钥publicKey- 公钥
-
Sign
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证- Parameters:
algorithm- 非对称加密算法privateKey- 私钥Base64publicKey- 公钥Base64
-
Sign
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证- Parameters:
algorithm- 算法privateKey- 私钥publicKey- 公钥
-
Sign
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证- Parameters:
algorithm- 算法,见AlgorithmkeyPair- 密钥对(包括公钥和私钥)
-
Sign
构造私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Parameters:
algorithm- 算法privateKey- 私钥publicKey- 公钥
-
-
Method Details
-
init
初始化- Overrides:
initin classAsymmetric<Sign>- Parameters:
algorithm- 算法privateKey- 私钥publicKey- 公钥- Returns:
- this
-
setParameter
设置签名的参数- Parameters:
params-AlgorithmParameterSpec- Returns:
- this
-
sign
生成文件签名- Parameters:
data- 被签名数据charset- 编码- Returns:
- 签名
-
sign
生成文件签名- Parameters:
data- 被签名数据- Returns:
- 签名
-
signHex
生成文件签名,并转为16进制字符串- Parameters:
data- 被签名数据charset- 编码- Returns:
- 签名
-
signHex
生成文件签名- Parameters:
data- 被签名数据- Returns:
- 签名
-
sign
public byte[] sign(byte[] data) 用私钥对信息生成数字签名- Parameters:
data- 加密数据- Returns:
- 签名
-
signHex
生成签名,并转为16进制字符串- Parameters:
data- 被签名数据- Returns:
- 签名
-
signHex
生成签名,并转为16进制字符串 使用默认缓存大小,见Normal._8192- Parameters:
data- 被签名数据- Returns:
- 签名
-
sign
生成签名,使用默认缓存大小,见Normal._8192- Parameters:
data-InputStream数据流- Returns:
- 签名bytes
-
digestHex
生成签名,并转为16进制字符串 使用默认缓存大小,见Normal._8192- Parameters:
data- 被签名数据bufferLength- 缓存长度,不足1使用Normal._8192做为默认值- Returns:
- 签名
-
sign
生成签名- Parameters:
data-InputStream数据流bufferLength- 缓存长度,不足1使用Normal._8192做为默认值- Returns:
- 签名bytes
-
verify
public boolean verify(byte[] data, byte[] sign) 用公钥检验数字签名的合法性- Parameters:
data- 数据sign- 签名- Returns:
- 是否验证通过
-
getSignature
获得签名对象- Returns:
Signature
-
setSignature
设置签名 -
setCertificate
设置Certificate为PublicKey 如果Certificate是X509Certificate,我们需要检查是否有密钥扩展- Parameters:
certificate-Certificate- Returns:
- this
-