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 java.lang.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 Constructor Description BouncyCastleEdDSASupport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancompareEDDSAPPublicKeys(java.security.PublicKey k1, java.security.PublicKey k2)booleancompareEDDSAPrivateKeys(java.security.PrivateKey k1, java.security.PrivateKey k2)java.security.spec.KeySpeccreatePrivateKeySpec(org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey privateKey)java.security.spec.KeySpeccreatePublicKeySpec(org.bouncycastle.jcajce.interfaces.EdDSAPublicKey publicKey)org.bouncycastle.jcajce.interfaces.EdDSAPrivateKeygenerateEDDSAPrivateKey(byte[] seed)org.bouncycastle.jcajce.interfaces.EdDSAPublicKeygenerateEDDSAPublicKey(byte[] seed)intgetEDDSAKeySize(java.security.Key key)java.lang.Class<org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey>getEDDSAPrivateKeyType()PublicKeyEntryDecoder<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey>getEDDSAPublicKeyEntryDecoder()java.lang.Class<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey>getEDDSAPublicKeyType()SignaturegetEDDSASigner()java.lang.StringgetKeyFactoryAlgorithm()PrivateKeyEntryDecoder<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey,org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey>getOpenSSHEDDSAPrivateKeyEntryDecoder()byte[]getPrivateKeyData(org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey privateKey)byte[]getPublicKeyData(org.bouncycastle.jcajce.interfaces.EdDSAPublicKey publicKey)<B extends Buffer>
BputEDDSAKeyPair(B buffer, java.security.PublicKey pubKey, java.security.PrivateKey prvKey)<B extends Buffer>
BputRawEDDSAPublicKey(B buffer, java.security.PublicKey key)org.bouncycastle.jcajce.interfaces.EdDSAPublicKeyrecoverEDDSAPublicKey(java.security.PrivateKey key)
-
-
-
Method Detail
-
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
public Signature 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
public int getEDDSAKeySize(java.security.Key key)
- 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
public java.lang.Class<org.bouncycastle.jcajce.interfaces.EdDSAPublicKey> 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
public java.lang.Class<org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey> 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
public boolean compareEDDSAPPublicKeys(java.security.PublicKey k1, java.security.PublicKey k2)- 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
public boolean compareEDDSAPrivateKeys(java.security.PrivateKey k1, java.security.PrivateKey k2)- 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(java.security.PrivateKey key) throws java.security.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:
java.security.GeneralSecurityException
-
generateEDDSAPublicKey
public org.bouncycastle.jcajce.interfaces.EdDSAPublicKey generateEDDSAPublicKey(byte[] seed) throws java.security.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:
java.security.GeneralSecurityException
-
generateEDDSAPrivateKey
public org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey generateEDDSAPrivateKey(byte[] seed) throws java.security.GeneralSecurityException, java.io.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:
java.security.GeneralSecurityExceptionjava.io.IOException
-
putRawEDDSAPublicKey
public <B extends Buffer> B putRawEDDSAPublicKey(B buffer, java.security.PublicKey key)
- 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
public <B extends Buffer> B putEDDSAKeyPair(B buffer, java.security.PublicKey pubKey, java.security.PrivateKey prvKey)
- 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
public java.security.spec.KeySpec createPublicKeySpec(org.bouncycastle.jcajce.interfaces.EdDSAPublicKey publicKey)
- 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
public java.security.spec.KeySpec createPrivateKeySpec(org.bouncycastle.jcajce.interfaces.EdDSAPrivateKey privateKey)
- 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 java.io.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:
java.io.IOException
-
getKeyFactoryAlgorithm
public java.lang.String 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.
-
-