Class OpenSSHECDSAPrivateKeyEntryDecoder
- 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<ECPublicKey,ECPrivateKey>
-
- org.apache.sshd.common.config.keys.loader.openssh.OpenSSHECDSAPrivateKeyEntryDecoder
-
- All Implemented Interfaces:
IdentityResourceLoader<ECPublicKey,ECPrivateKey>
,KeyEntryResolver<ECPublicKey,ECPrivateKey>
,KeyTypeNamesSupport
,PrivateKeyEntryDecoder<ECPublicKey,ECPrivateKey>
,PrivateKeyEntryResolver
public class OpenSSHECDSAPrivateKeyEntryDecoder extends AbstractPrivateKeyEntryDecoder<ECPublicKey,ECPrivateKey>
- Author:
- Apache MINA SSHD Project
-
-
Field Summary
Fields Modifier and Type Field Description static OpenSSHECDSAPrivateKeyEntryDecoder
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 OpenSSHECDSAPrivateKeyEntryDecoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ECPrivateKey
clonePrivateKey(ECPrivateKey key)
ECPublicKey
clonePublicKey(ECPublicKey key)
ECPrivateKey
decodePrivateKey(SessionContext session, String keyType, FilePasswordProvider passwordProvider, InputStream keyData)
String
encodePrivateKey(OutputStream s, ECPrivateKey key)
KeyPair
generateKeyPair(int keySize)
KeyFactory
getKeyFactoryInstance()
KeyPairGenerator
getKeyPairGenerator()
ECPublicKey
recoverPublicKey(ECPrivateKey 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
getSimplifiedLogger
-
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
-
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, isPublicKeyRecoverySupported, resolve
-
-
-
-
Field Detail
-
INSTANCE
public static final OpenSSHECDSAPrivateKeyEntryDecoder INSTANCE
-
-
Method Detail
-
decodePrivateKey
public ECPrivateKey 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(OutputStream s, ECPrivateKey key) throws IOException
Description copied from interface:PrivateKeyEntryDecoder
- Parameters:
s
- TheOutputStream
to write the data tokey
- ThePrivateKey
- may not benull
- Returns:
- The key type value - one of the
KeyTypeNamesSupport.getSupportedKeyTypes()
ornull
if encoding not supported - Throws:
IOException
- If failed to generate the encoding
-
recoverPublicKey
public ECPublicKey recoverPublicKey(ECPrivateKey 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 ECPublicKey clonePublicKey(ECPublicKey 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 ECPrivateKey clonePrivateKey(ECPrivateKey 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
-
getKeyFactoryInstance
public KeyFactory getKeyFactoryInstance() throws GeneralSecurityException
- Returns:
- A
KeyFactory
suitable for the specific decoder type - Throws:
GeneralSecurityException
- If failed to create one
-
generateKeyPair
public KeyPair generateKeyPair(int keySize) throws GeneralSecurityException
- Parameters:
keySize
- Key size in bits- Returns:
- A
KeyPair
with the specified key size - Throws:
GeneralSecurityException
- if unable to generate the pair
-
getKeyPairGenerator
public KeyPairGenerator getKeyPairGenerator() throws GeneralSecurityException
- Returns:
- A
KeyPairGenerator
suitable for this decoder - Throws:
GeneralSecurityException
- If failed to create the generator
-
-