Class OpenSSHEd25519PrivateKeyEntryDecoder
- java.lang.Object
-
- org.apache.sshd.common.util.logging.AbstractLoggingBean
-
- org.apache.sshd.common.config.keys.impl.AbstractIdentityResourceLoader<PUB,PRV>
-
- org.apache.sshd.common.config.keys.impl.AbstractKeyEntryResolver<PUB,PRV>
-
- org.apache.sshd.common.config.keys.impl.AbstractPrivateKeyEntryDecoder<net.i2p.crypto.eddsa.EdDSAPublicKey,net.i2p.crypto.eddsa.EdDSAPrivateKey>
-
- org.apache.sshd.common.util.security.eddsa.OpenSSHEd25519PrivateKeyEntryDecoder
-
- All Implemented Interfaces:
IdentityResourceLoader<net.i2p.crypto.eddsa.EdDSAPublicKey,net.i2p.crypto.eddsa.EdDSAPrivateKey>
,KeyEntryResolver<net.i2p.crypto.eddsa.EdDSAPublicKey,net.i2p.crypto.eddsa.EdDSAPrivateKey>
,KeyTypeNamesSupport
,PrivateKeyEntryDecoder<net.i2p.crypto.eddsa.EdDSAPublicKey,net.i2p.crypto.eddsa.EdDSAPrivateKey>
,PrivateKeyEntryResolver
public class OpenSSHEd25519PrivateKeyEntryDecoder extends AbstractPrivateKeyEntryDecoder<net.i2p.crypto.eddsa.EdDSAPublicKey,net.i2p.crypto.eddsa.EdDSAPrivateKey>
- Author:
- Apache MINA SSHD Project
-
-
Field Summary
Fields Modifier and Type Field Description static OpenSSHEd25519PrivateKeyEntryDecoder
INSTANCE
-
Fields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log
-
Fields inherited from interface org.apache.sshd.common.config.keys.IdentityResourceLoader
MAX_BIGINT_OCTETS_COUNT
-
Fields inherited from interface org.apache.sshd.common.config.keys.PrivateKeyEntryResolver
FAILING, IGNORING
-
-
Constructor Summary
Constructors Constructor Description OpenSSHEd25519PrivateKeyEntryDecoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description net.i2p.crypto.eddsa.EdDSAPrivateKey
clonePrivateKey(net.i2p.crypto.eddsa.EdDSAPrivateKey key)
net.i2p.crypto.eddsa.EdDSAPublicKey
clonePublicKey(net.i2p.crypto.eddsa.EdDSAPublicKey key)
net.i2p.crypto.eddsa.EdDSAPrivateKey
decodePrivateKey(SessionContext session, String keyType, FilePasswordProvider passwordProvider, InputStream keyData)
String
encodePrivateKey(SecureByteArrayOutputStream s, net.i2p.crypto.eddsa.EdDSAPrivateKey key, net.i2p.crypto.eddsa.EdDSAPublicKey pubKey)
KeyFactory
getKeyFactoryInstance()
KeyPairGenerator
getKeyPairGenerator()
boolean
isPublicKeyRecoverySupported()
net.i2p.crypto.eddsa.EdDSAPublicKey
recoverPublicKey(net.i2p.crypto.eddsa.EdDSAPrivateKey prvKey)
Attempts to recover the public key given the private one-
Methods inherited from class org.apache.sshd.common.config.keys.impl.AbstractKeyEntryResolver
generatePrivateKey, generatePublicKey, toString
-
Methods inherited from class org.apache.sshd.common.config.keys.impl.AbstractIdentityResourceLoader
getPrivateKeyType, getPublicKeyType, getSupportedKeyTypes
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.sshd.common.config.keys.IdentityResourceLoader
getPrivateKeyType, getPublicKeyType
-
Methods inherited from interface org.apache.sshd.common.config.keys.KeyEntryResolver
cloneKeyPair, generateKeyPair
-
Methods inherited from interface org.apache.sshd.common.config.keys.KeyTypeNamesSupport
getSupportedKeyTypes
-
Methods inherited from interface org.apache.sshd.common.config.keys.PrivateKeyEntryDecoder
decodePrivateKey, decodePrivateKey, decodePrivateKey, resolve
-
-
-
-
Field Detail
-
INSTANCE
public static final OpenSSHEd25519PrivateKeyEntryDecoder INSTANCE
-
-
Method Detail
-
decodePrivateKey
public net.i2p.crypto.eddsa.EdDSAPrivateKey decodePrivateKey(SessionContext session, String keyType, FilePasswordProvider passwordProvider, InputStream keyData) throws IOException, GeneralSecurityException
- Parameters:
session
- TheSessionContext
for invoking this load command - may benull
if not invoked within a session context (e.g., offline tool or session unknown).keyType
- The reported / encode key typepasswordProvider
- TheFilePasswordProvider
to use in case the data is encrypted - may benull
if no encrypted data is expectedkeyData
- The key data bytes stream positioned after the key type decoding and making sure it is one of the supported types- Returns:
- The decoded
PrivateKey
- Throws:
IOException
- If failed to read from the data streamGeneralSecurityException
- If failed to generate the key
-
encodePrivateKey
public String encodePrivateKey(SecureByteArrayOutputStream s, net.i2p.crypto.eddsa.EdDSAPrivateKey key, net.i2p.crypto.eddsa.EdDSAPublicKey pubKey) throws IOException
Description copied from interface:PrivateKeyEntryDecoder
- Parameters:
s
- TheSecureByteArrayOutputStream
to write the data to.key
- ThePrivateKey
- may not benull
pubKey
- ThePublicKey
belonging to the private key - must be non-null
ifpublic key recovery
is not supported- Returns:
- The key type value - one of the
KeyTypeNamesSupport.getSupportedKeyTypes()
ornull
if encoding not supported - Throws:
IOException
- If failed to generate the encoding
-
isPublicKeyRecoverySupported
public boolean isPublicKeyRecoverySupported()
-
recoverPublicKey
public net.i2p.crypto.eddsa.EdDSAPublicKey recoverPublicKey(net.i2p.crypto.eddsa.EdDSAPrivateKey prvKey) throws GeneralSecurityException
Description copied from interface:PrivateKeyEntryDecoder
Attempts to recover the public key given the private one- Parameters:
prvKey
- ThePrivateKey
- Returns:
- The recovered
PublicKey
-null
if cannot recover it - Throws:
GeneralSecurityException
- If failed to generate the public key
-
clonePublicKey
public net.i2p.crypto.eddsa.EdDSAPublicKey clonePublicKey(net.i2p.crypto.eddsa.EdDSAPublicKey key) throws GeneralSecurityException
- Parameters:
key
- ThePublicKey
to clone - ignored ifnull
- Returns:
- The cloned key (or
null
if no original key) - Throws:
GeneralSecurityException
- If failed to clone the key
-
clonePrivateKey
public net.i2p.crypto.eddsa.EdDSAPrivateKey clonePrivateKey(net.i2p.crypto.eddsa.EdDSAPrivateKey key) throws GeneralSecurityException
- Parameters:
key
- ThePrivateKey
to clone - ignored ifnull
- Returns:
- The cloned key (or
null
if no original key) - Throws:
GeneralSecurityException
- If failed to clone the key
-
getKeyPairGenerator
public KeyPairGenerator getKeyPairGenerator() throws GeneralSecurityException
- Returns:
- A
KeyPairGenerator
suitable for this decoder - Throws:
GeneralSecurityException
- If failed to create the generator
-
getKeyFactoryInstance
public KeyFactory getKeyFactoryInstance() throws GeneralSecurityException
- Returns:
- A
KeyFactory
suitable for the specific decoder type - Throws:
GeneralSecurityException
- If failed to create one
-
-