PR - type of wrapped PrivateKey.PU - type of wrapped PublicKey.PAIR - type of AsymmetricKeyPair.public abstract class AbstractAsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>> extends CryptoAlgorithmImplWithRandom implements AsymmetricKeyCreator<PR,PU,PAIR>
KeyCreator.| Modifier and Type | Field and Description |
|---|---|
private Map<String,AsymmetricKeyPairFactory<PR,PU,PAIR>> |
format2factoryMap |
private List<String> |
formatOrderList |
private int |
keyLength |
provider| Constructor and Description |
|---|
AbstractAsymmetricKeyCreator(KeyFactory keyFactory,
int keyLength,
SecurityProvider provider,
RandomFactory randomFactory)
The constructor.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
asData(PAIR keyPair,
String format) |
byte[] |
asData(PR privateKey,
String format) |
byte[] |
asData(PU publicKey,
String format) |
PAIR |
createKeyPair(byte[] data,
String format) |
PR |
createPrivateKey(byte[] data,
String format) |
PU |
createPublicKey(byte[] data,
String format) |
PAIR |
generateKeyPair() |
private List<String> |
getFormatOrderList() |
int |
getKeyLength() |
private AsymmetricKeyPairFactory<PR,PU,PAIR> |
getKeyPairFactory(String format) |
protected void |
init(KeyPairGenerator keyPairGenerator) |
protected void |
register(AsymmetricKeyPairFactory<PR,PU,PAIR> factory)
Please register in proper order of trials for auto-detection.
|
protected void |
register(AsymmetricKeyPairFactory<PR,PU,PAIR> factory,
String format)
Please register in proper order of trials for auto-detection.
|
createSecureRandom, getRandomFactorygetAlgorithmgetProvidercreationFailedException, creationFailedException, creationFailedException, creationFailedException, getAlgorithm, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitasBinary, asBinary, asBinary, asData, asData, asData, createKeyPair, createPrivateKey, createPublicKey, getKeyLength, getKeyLength, verifyKey, verifyKeygetAlgorithmasBinaryasBinaryasBinarycreateKeyPairprivate final Map<String,AsymmetricKeyPairFactory<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>> format2factoryMap
private final int keyLength
public AbstractAsymmetricKeyCreator(KeyFactory keyFactory, int keyLength, SecurityProvider provider, RandomFactory randomFactory)
keyFactory - the KeyFactory.keyLength - the key length.provider - the security Provider.randomFactory - the RandomFactory.public int getKeyLength()
getKeyLength in interface KeyCreatoralgorithm: A recent value for RSA is 4096 bits while for PBKDF2 256 may be sufficient.protected void register(AsymmetricKeyPairFactory<PR,PU,PAIR> factory)
factory - the AsymmetricKeyPairFactory to register.protected void register(AsymmetricKeyPairFactory<PR,PU,PAIR> factory, String format)
factory - the AsymmetricKeyPairFactory to register.format - the format to register as.private AsymmetricKeyPairFactory<PR,PU,PAIR> getKeyPairFactory(String format)
public PR createPrivateKey(byte[] data, String format)
createPrivateKey in interface AsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>data - the PrivateKey as raw byte array.format - the CryptoBinaryFormat to use.PrivateKey.public byte[] asData(PR privateKey, String format)
asData in interface AsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>privateKey - the PrivateKey to serialize.format - the the CryptoBinaryFormat to use.public PU createPublicKey(byte[] data, String format)
createPublicKey in interface AsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>data - the PublicKey as raw byte array.format - the the CryptoBinaryFormat to use.PublicKey.public byte[] asData(PU publicKey, String format)
asData in interface AsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>publicKey - the PublicKey to serialize.format - the the CryptoBinaryFormat to use.public PAIR createKeyPair(byte[] data, String format)
createKeyPair in interface AsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>data - the AsymmetricKeyPair as raw byte array.format - the the CryptoBinaryFormat to use.AsymmetricKeyPair.public byte[] asData(PAIR keyPair, String format)
asData in interface AsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>keyPair - the AsymmetricKeyPair to serialize.format - the the CryptoBinaryFormat to use.public PAIR generateKeyPair()
generateKeyPair in interface AsymmetricKeyCreator<PR extends PrivateKey,PU extends PublicKey,PAIR extends AbstractAsymmetricKeyPair<PR,PU>>AsymmetricKeyPair with a generated private and public key for the underlying cryptography.protected void init(KeyPairGenerator keyPairGenerator) throws Exception
keyPairGenerator - the KeyPairGenerator to initialize.Exception - on error.Copyright © 2001–2019 mmm-Team. All rights reserved.