Package org.aoju.bus.crypto.asymmetric
Class Asymmetric<T extends Asymmetric<T>>
java.lang.Object
org.aoju.bus.crypto.asymmetric.Asymmetric<T>
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AbstractCrypto,Sign
非对称基础,提供锁、私钥和公钥的持有
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String算法protected final Lock锁protected PrivateKey私钥protected PublicKey公钥 -
Constructor Summary
ConstructorsConstructorDescriptionAsymmetric(String algorithm, PrivateKey privateKey, PublicKey publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密 -
Method Summary
Modifier and TypeMethodDescriptionprotected KeygetKeyByType(KeyType type) 根据密钥类型获得相应密钥获得私钥获得私钥获得公钥获得公钥protected Tinit(String algorithm, PrivateKey privateKey, PublicKey publicKey) 初始化 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密(签名)或者解密(校验)initKeys()生成公钥和私钥设置密钥,可以是公钥PublicKey或者私钥PrivateKeysetPrivateKey(PrivateKey privateKey) 设置私钥setPublicKey(PublicKey publicKey) 设置公钥
-
Field Details
-
lock
锁 -
algorithm
算法 -
publicKey
公钥 -
privateKey
私钥
-
-
Constructor Details
-
Asymmetric
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密- Parameters:
algorithm- 算法privateKey- 私钥publicKey- 公钥
-
-
Method Details
-
init
初始化 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密(签名)或者解密(校验)- Parameters:
algorithm- 算法privateKey- 私钥publicKey- 公钥- Returns:
- this
-
initKeys
生成公钥和私钥- Returns:
- this
-
getPublicKey
获得公钥- Returns:
- 获得公钥
-
setPublicKey
设置公钥- Parameters:
publicKey- 公钥- Returns:
- this
-
getPublicKeyBase64
获得公钥- Returns:
- 获得公钥
-
getPrivateKey
获得私钥- Returns:
- 获得私钥
-
setPrivateKey
设置私钥- Parameters:
privateKey- 私钥- Returns:
- this
-
getPrivateKeyBase64
获得私钥- Returns:
- 获得私钥
-
setKey
设置密钥,可以是公钥PublicKey或者私钥PrivateKey- Parameters:
key- 密钥,可以是公钥PublicKey或者私钥PrivateKey- Returns:
- this
-
getKeyByType
根据密钥类型获得相应密钥
-