Class ECDSAPublicKeyEntryDecoder
- 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.AbstractPublicKeyEntryDecoder<ECPublicKey,ECPrivateKey>
-
- org.apache.sshd.common.config.keys.impl.ECDSAPublicKeyEntryDecoder
-
- All Implemented Interfaces:
IdentityResourceLoader<ECPublicKey,ECPrivateKey>
,KeyEntryResolver<ECPublicKey,ECPrivateKey>
,KeyTypeNamesSupport
,PublicKeyEntryDecoder<ECPublicKey,ECPrivateKey>
,PublicKeyEntryResolver
,PublicKeyRawDataDecoder<ECPublicKey>
public class ECDSAPublicKeyEntryDecoder extends AbstractPublicKeyEntryDecoder<ECPublicKey,ECPrivateKey>
- Author:
- Apache MINA SSHD Project
-
-
Field Summary
Fields Modifier and Type Field Description static byte
ECPOINT_COMPRESSED_VARIANT_2
static byte
ECPOINT_COMPRESSED_VARIANT_3
static byte
ECPOINT_UNCOMPRESSED_FORM_INDICATOR
static ECDSAPublicKeyEntryDecoder
INSTANCE
static int
MAX_ALLOWED_POINT_SIZE
static int
MAX_CURVE_NAME_LENGTH
-
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.PublicKeyEntryResolver
FAILING, IGNORING
-
-
Constructor Summary
Constructors Constructor Description ECDSAPublicKeyEntryDecoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ECPrivateKey
clonePrivateKey(ECPrivateKey key)
ECPublicKey
clonePublicKey(ECPublicKey key)
ECPublicKey
decodePublicKey(SessionContext session, String keyType, InputStream keyData, Map<String,String> headers)
String
encodePublicKey(OutputStream s, ECPublicKey key)
KeyPair
generateKeyPair(int keySize)
KeyFactory
getKeyFactoryInstance()
KeyPairGenerator
getKeyPairGenerator()
-
Methods inherited from class org.apache.sshd.common.config.keys.impl.AbstractPublicKeyEntryDecoder
parseBooleanHeader
-
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
-
Methods inherited from interface org.apache.sshd.common.config.keys.KeyTypeNamesSupport
getSupportedKeyTypes
-
Methods inherited from interface org.apache.sshd.common.config.keys.PublicKeyEntryDecoder
decodePublicKeyByType, resolve
-
Methods inherited from interface org.apache.sshd.common.config.keys.PublicKeyRawDataDecoder
decodePublicKey, decodePublicKey
-
-
-
-
Field Detail
-
MAX_ALLOWED_POINT_SIZE
public static final int MAX_ALLOWED_POINT_SIZE
- See Also:
- Constant Field Values
-
MAX_CURVE_NAME_LENGTH
public static final int MAX_CURVE_NAME_LENGTH
- See Also:
- Constant Field Values
-
INSTANCE
public static final ECDSAPublicKeyEntryDecoder INSTANCE
-
ECPOINT_UNCOMPRESSED_FORM_INDICATOR
public static final byte ECPOINT_UNCOMPRESSED_FORM_INDICATOR
- See Also:
- Constant Field Values
-
ECPOINT_COMPRESSED_VARIANT_2
public static final byte ECPOINT_COMPRESSED_VARIANT_2
- See Also:
- Constant Field Values
-
ECPOINT_COMPRESSED_VARIANT_3
public static final byte ECPOINT_COMPRESSED_VARIANT_3
- See Also:
- Constant Field Values
-
-
Method Detail
-
decodePublicKey
public ECPublicKey decodePublicKey(SessionContext session, String keyType, InputStream keyData, Map<String,String> headers) throws IOException, GeneralSecurityException
- Parameters:
session
- TheSessionContext
for invoking this command - may benull
if not invoked within a session context (e.g., offline tool or session unknown).keyType
- The reported / encode key typekeyData
- The key data bytes stream positioned after the key type decoding and making sure it is one of the supported typesheaders
- Any headers that may have been available when data was read- Returns:
- The decoded
PublicKey
- Throws:
IOException
- If failed to read from the data streamGeneralSecurityException
- If failed to generate the 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
-
encodePublicKey
public String encodePublicKey(OutputStream s, ECPublicKey key) throws IOException
Description copied from interface:PublicKeyEntryDecoder
- Parameters:
s
- TheOutputStream
to write the data tokey
- ThePublicKey
- may not benull
- Returns:
- The key type value - one of the
KeyTypeNamesSupport.getSupportedKeyTypes()
- Throws:
IOException
- If failed to generate the encoding
-
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
-
-