Class BouncyCastleEdDSASupport
java.lang.Object
org.apache.sshd.common.util.security.eddsa.bouncycastle.BouncyCastleEdDSASupport
- All Implemented Interfaces:
EdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey>
public class BouncyCastleEdDSASupport
extends Object
implements EdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey>
-
Field Summary
Fields inherited from interface org.apache.sshd.common.util.security.eddsa.generic.EdDSASupport
ED25519_OID, KEY_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleancreatePrivateKeySpec(org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey privateKey) createPublicKeySpec(org.bouncycastle.jcajce.interfaces.EdDSAPublicKey publicKey) org.bouncycastle.jcajce.interfaces.EdDSAPrivateKeygenerateEDDSAPrivateKey(byte[] seed) org.bouncycastle.jcajce.interfaces.EdDSAPublicKeygenerateEDDSAPublicKey(byte[] seed) intgetEDDSAKeySize(Key key) Class<org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> PublicKeyEntryDecoder<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey, org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> Class<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey> PrivateKeyEntryDecoder<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey, org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> byte[]getPrivateKeyData(org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey privateKey) byte[]getPublicKeyData(org.bouncycastle.jcajce.interfaces.EdDSAPublicKey publicKey) <B extends Buffer>
BputEDDSAKeyPair(B buffer, PublicKey pubKey, PrivateKey prvKey) <B extends Buffer>
BputRawEDDSAPublicKey(B buffer, PublicKey key) org.bouncycastle.jcajce.interfaces.EdDSAPublicKey
-
Constructor Details
-
BouncyCastleEdDSASupport
public BouncyCastleEdDSASupport()
-
-
Method Details
-
getEDDSAPublicKeyEntryDecoder
public PublicKeyEntryDecoder<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> getEDDSAPublicKeyEntryDecoder()- Specified by:
getEDDSAPublicKeyEntryDecoderin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Returns:
- the public key entry decoder implementation associated with the security provider.
-
getOpenSSHEDDSAPrivateKeyEntryDecoder
public PrivateKeyEntryDecoder<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> getOpenSSHEDDSAPrivateKeyEntryDecoder()- Specified by:
getOpenSSHEDDSAPrivateKeyEntryDecoderin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Returns:
- the private key entry decoder implementation associated with the security provider.
-
getEDDSASigner
- Specified by:
getEDDSASignerin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Returns:
- the signature implementation associated with the security provider.
-
getEDDSAKeySize
- Specified by:
getEDDSAKeySizein interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
key- the key to get the size of.- Returns:
- the size of the key if it is an EdDSA key, -1 otherwise.
-
getEDDSAPublicKeyType
- Specified by:
getEDDSAPublicKeyTypein interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Returns:
- the public key class type associated with the security provider.
-
getEDDSAPrivateKeyType
- Specified by:
getEDDSAPrivateKeyTypein interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Returns:
- the private key class type associated with the security provider.
-
compareEDDSAPPublicKeys
- Specified by:
compareEDDSAPPublicKeysin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
k1- the first keyk2- the second key- Returns:
trueif both keys are instances of the public key type associated with the security provider and they are equal.
-
compareEDDSAPrivateKeys
- Specified by:
compareEDDSAPrivateKeysin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
k1- the first keyk2- the second key- Returns:
trueif both keys are instances of the private key type associated with the security provider and they are equal.
-
recoverEDDSAPublicKey
public org.bouncycastle.jcajce.interfaces.EdDSAPublicKey recoverEDDSAPublicKey(PrivateKey key) throws GeneralSecurityException - Specified by:
recoverEDDSAPublicKeyin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
key- the private key- Returns:
- the public key associated with the private key.
- Throws:
GeneralSecurityException
-
generateEDDSAPublicKey
public org.bouncycastle.jcajce.interfaces.EdDSAPublicKey generateEDDSAPublicKey(byte[] seed) throws GeneralSecurityException - Specified by:
generateEDDSAPublicKeyin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
seed- the raw public key bytes- Returns:
- the associated public key
- Throws:
GeneralSecurityException
-
generateEDDSAPrivateKey
public org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey generateEDDSAPrivateKey(byte[] seed) throws GeneralSecurityException, IOException - Specified by:
generateEDDSAPrivateKeyin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
seed- the raw private key bytes- Returns:
- the associated private key
- Throws:
GeneralSecurityExceptionIOException
-
putRawEDDSAPublicKey
- Specified by:
putRawEDDSAPublicKeyin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Type Parameters:
B- type of the buffer- Parameters:
buffer- the buffer to insert the public key intokey- the public key to be inserted into the buffer- Returns:
- the buffer that was passed in
-
putEDDSAKeyPair
- Specified by:
putEDDSAKeyPairin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Type Parameters:
B- type of the buffer- Parameters:
buffer- the buffer to insert the keys intopubKey- the public key to be inserted into the bufferprvKey- the private key to be inserted into the buffer- Returns:
- the buffer that was passed in
-
createPublicKeySpec
- Specified by:
createPublicKeySpecin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
publicKey- the public key- Returns:
- a key spec from the public key
-
createPrivateKeySpec
- Specified by:
createPrivateKeySpecin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
privateKey- the private key- Returns:
- a key spec from the private key
-
getPublicKeyData
public byte[] getPublicKeyData(org.bouncycastle.jcajce.interfaces.EdDSAPublicKey publicKey) - Specified by:
getPublicKeyDatain interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
publicKey- the public key- Returns:
- the raw public key bytes associated with the key
-
getPrivateKeyData
public byte[] getPrivateKeyData(org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey privateKey) throws IOException - Specified by:
getPrivateKeyDatain interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Parameters:
privateKey- the private key- Returns:
- the raw private key bytes associated with the key
- Throws:
IOException
-
getKeyFactoryAlgorithm
- Specified by:
getKeyFactoryAlgorithmin interfaceEdDSASupport<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> - Returns:
- the algorithm name used by the provider's
KeyFactory.
-