Interface KeyEntryResolver<PUB extends PublicKey,PRV extends PrivateKey>
-
- Type Parameters:
PUB- Type ofPublicKeyPRV- Type ofPrivateKey
- All Superinterfaces:
IdentityResourceLoader<PUB,PRV>,KeyTypeNamesSupport
- All Known Subinterfaces:
PrivateKeyEntryDecoder<PUB,PRV>,PublicKeyEntryDecoder<PUB,PRV>
- All Known Implementing Classes:
AbstractKeyEntryResolver,AbstractPrivateKeyEntryDecoder,AbstractPublicKeyEntryDecoder,DSSPublicKeyEntryDecoder,ECDSAPublicKeyEntryDecoder,Ed25519PublicKeyDecoder,OpenSSHCertificateDecoder,OpenSSHDSSPrivateKeyEntryDecoder,OpenSSHECDSAPrivateKeyEntryDecoder,OpenSSHEd25519PrivateKeyEntryDecoder,OpenSSHRSAPrivateKeyDecoder,RSAPublicKeyDecoder,SkECDSAPublicKeyEntryDecoder,SkED25519PublicKeyEntryDecoder
public interface KeyEntryResolver<PUB extends PublicKey,PRV extends PrivateKey> extends IdentityResourceLoader<PUB,PRV>
- Author:
- Apache MINA SSHD Project
-
-
Field Summary
-
Fields inherited from interface org.apache.sshd.common.config.keys.IdentityResourceLoader
MAX_BIGINT_OCTETS_COUNT
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default KeyPaircloneKeyPair(KeyPair kp)PRVclonePrivateKey(PRV key)PUBclonePublicKey(PUB key)static BigIntegerdecodeBigInt(InputStream s)static intdecodeInt(byte[] buf)static intdecodeInt(byte[] buf, int offset, int available)static intdecodeInt(InputStream s)static Map.Entry<String,Integer>decodeString(byte[] buf, int maxChars)static Map.Entry<String,Integer>decodeString(byte[] buf, int offset, int available, int maxChars)static Map.Entry<String,Integer>decodeString(byte[] buf, int offset, int available, Charset cs, int maxChars)Decodes a run-length encoded stringstatic Map.Entry<String,Integer>decodeString(byte[] buf, Charset cs, int maxChars)static StringdecodeString(InputStream s, int maxChars)static StringdecodeString(InputStream s, String charset, int maxChars)static StringdecodeString(InputStream s, Charset cs, int maxChars)static intencodeBigInt(OutputStream s, BigInteger v)static byte[]encodeInt(OutputStream s, int v)static intencodeString(OutputStream s, String v)static intencodeString(OutputStream s, String v, String charset)static intencodeString(OutputStream s, String v, Charset cs)default KeyPairgenerateKeyPair(int keySize)KeyFactorygetKeyFactoryInstance()KeyPairGeneratorgetKeyPairGenerator()static Map.Entry<byte[],Integer>readRLEBytes(byte[] buf, int maxAllowed)static Map.Entry<byte[],Integer>readRLEBytes(byte[] buf, int offset, int available, int maxAllowed)Decodes a run-length encoded byte arraystatic byte[]readRLEBytes(InputStream s, int maxAllowed)static intwriteRLEBytes(OutputStream s, byte... bytes)static intwriteRLEBytes(OutputStream s, byte[] bytes, int off, int len)-
Methods inherited from interface org.apache.sshd.common.config.keys.IdentityResourceLoader
getPrivateKeyType, getPublicKeyType
-
Methods inherited from interface org.apache.sshd.common.config.keys.KeyTypeNamesSupport
getSupportedKeyTypes
-
-
-
-
Method Detail
-
generateKeyPair
default KeyPair generateKeyPair(int keySize) throws GeneralSecurityException
- Parameters:
keySize- Key size in bits- Returns:
- A
KeyPairwith the specified key size - Throws:
GeneralSecurityException- if unable to generate the pair
-
cloneKeyPair
default KeyPair cloneKeyPair(KeyPair kp) throws GeneralSecurityException
- Parameters:
kp- TheKeyPairto be cloned - ignored ifnull- Returns:
- A cloned pair (or
nullif no original pair) - Throws:
GeneralSecurityException- If failed to clone - e.g., provided key pair does not contain keys of the expected type- See Also:
IdentityResourceLoader.getPublicKeyType(),IdentityResourceLoader.getPrivateKeyType()
-
clonePublicKey
PUB clonePublicKey(PUB key) throws GeneralSecurityException
- Parameters:
key- ThePublicKeyto clone - ignored ifnull- Returns:
- The cloned key (or
nullif no original key) - Throws:
GeneralSecurityException- If failed to clone the key
-
clonePrivateKey
PRV clonePrivateKey(PRV key) throws GeneralSecurityException
- Parameters:
key- ThePrivateKeyto clone - ignored ifnull- Returns:
- The cloned key (or
nullif no original key) - Throws:
GeneralSecurityException- If failed to clone the key
-
getKeyPairGenerator
KeyPairGenerator getKeyPairGenerator() throws GeneralSecurityException
- Returns:
- A
KeyPairGeneratorsuitable for this decoder - Throws:
GeneralSecurityException- If failed to create the generator
-
getKeyFactoryInstance
KeyFactory getKeyFactoryInstance() throws GeneralSecurityException
- Returns:
- A
KeyFactorysuitable for the specific decoder type - Throws:
GeneralSecurityException- If failed to create one
-
encodeString
static int encodeString(OutputStream s, String v) throws IOException
- Throws:
IOException
-
encodeString
static int encodeString(OutputStream s, String v, String charset) throws IOException
- Throws:
IOException
-
encodeString
static int encodeString(OutputStream s, String v, Charset cs) throws IOException
- Throws:
IOException
-
encodeBigInt
static int encodeBigInt(OutputStream s, BigInteger v) throws IOException
- Throws:
IOException
-
writeRLEBytes
static int writeRLEBytes(OutputStream s, byte... bytes) throws IOException
- Throws:
IOException
-
writeRLEBytes
static int writeRLEBytes(OutputStream s, byte[] bytes, int off, int len) throws IOException
- Throws:
IOException
-
encodeInt
static byte[] encodeInt(OutputStream s, int v) throws IOException
- Throws:
IOException
-
decodeString
static String decodeString(InputStream s, int maxChars) throws IOException
- Throws:
IOException
-
decodeString
static String decodeString(InputStream s, String charset, int maxChars) throws IOException
- Throws:
IOException
-
decodeString
static String decodeString(InputStream s, Charset cs, int maxChars) throws IOException
- Throws:
IOException
-
decodeBigInt
static BigInteger decodeBigInt(InputStream s) throws IOException
- Throws:
IOException
-
readRLEBytes
static byte[] readRLEBytes(InputStream s, int maxAllowed) throws IOException
- Throws:
IOException
-
decodeInt
static int decodeInt(InputStream s) throws IOException
- Throws:
IOException
-
decodeString
static Map.Entry<String,Integer> decodeString(byte[] buf, int offset, int available, int maxChars)
-
decodeString
static Map.Entry<String,Integer> decodeString(byte[] buf, int offset, int available, Charset cs, int maxChars)
Decodes a run-length encoded string- Parameters:
buf- The buffer with the data bytesoffset- The offset in the buffer to decode the stringavailable- The max. available data starting from the offsetcs- TheCharsetto use to decode the stringmaxChars- Max. allowed characters in string - if more than that is encoded then anIndexOutOfBoundsExceptionwill be thrown- Returns:
- The decoded string + the offset of the next byte after it
- See Also:
readRLEBytes(byte[], int, int, int)
-
readRLEBytes
static Map.Entry<byte[],Integer> readRLEBytes(byte[] buf, int offset, int available, int maxAllowed)
Decodes a run-length encoded byte array- Parameters:
buf- The buffer with the data bytesoffset- The offset in the buffer to decode the arrayavailable- The max. available data starting from the offsetmaxAllowed- Max. allowed data in decoded buffer - if more than that is encoded then anIndexOutOfBoundsExceptionwill be thrown- Returns:
- The decoded data buffer + the offset of the next byte after it
-
decodeInt
static int decodeInt(byte[] buf)
-
decodeInt
static int decodeInt(byte[] buf, int offset, int available)
-
-