Interface KeyEntryResolver<PUB extends java.security.PublicKey,PRV extends java.security.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 java.security.PublicKey,PRV extends java.security.PrivateKey> extends IdentityResourceLoader<PUB,PRV>
-
-
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 java.security.KeyPaircloneKeyPair(java.security.KeyPair kp)PRVclonePrivateKey(PRV key)PUBclonePublicKey(PUB key)static java.math.BigIntegerdecodeBigInt(java.io.InputStream s)static intdecodeInt(byte[] buf)static intdecodeInt(byte[] buf, int offset, int available)static intdecodeInt(java.io.InputStream s)static java.util.Map.Entry<java.lang.String,java.lang.Integer>decodeString(byte[] buf, int maxChars)static java.util.Map.Entry<java.lang.String,java.lang.Integer>decodeString(byte[] buf, int offset, int available, int maxChars)static java.util.Map.Entry<java.lang.String,java.lang.Integer>decodeString(byte[] buf, int offset, int available, java.nio.charset.Charset cs, int maxChars)Decodes a run-length encoded stringstatic java.util.Map.Entry<java.lang.String,java.lang.Integer>decodeString(byte[] buf, java.nio.charset.Charset cs, int maxChars)static java.lang.StringdecodeString(java.io.InputStream s, int maxChars)static java.lang.StringdecodeString(java.io.InputStream s, java.lang.String charset, int maxChars)static java.lang.StringdecodeString(java.io.InputStream s, java.nio.charset.Charset cs, int maxChars)static intencodeBigInt(java.io.OutputStream s, java.math.BigInteger v)static byte[]encodeInt(java.io.OutputStream s, int v)static intencodeString(java.io.OutputStream s, java.lang.String v)static intencodeString(java.io.OutputStream s, java.lang.String v, java.lang.String charset)static intencodeString(java.io.OutputStream s, java.lang.String v, java.nio.charset.Charset cs)default java.security.KeyPairgenerateKeyPair(int keySize)java.security.KeyFactorygetKeyFactoryInstance()java.security.KeyPairGeneratorgetKeyPairGenerator()static java.util.Map.Entry<byte[],java.lang.Integer>readRLEBytes(byte[] buf, int maxAllowed)static java.util.Map.Entry<byte[],java.lang.Integer>readRLEBytes(byte[] buf, int offset, int available, int maxAllowed)Decodes a run-length encoded byte arraystatic byte[]readRLEBytes(java.io.InputStream s, int maxAllowed)static intwriteRLEBytes(java.io.OutputStream s, byte... bytes)static intwriteRLEBytes(java.io.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 java.security.KeyPair generateKeyPair(int keySize) throws java.security.GeneralSecurityException- Parameters:
keySize- Key size in bits- Returns:
- A
KeyPairwith the specified key size - Throws:
java.security.GeneralSecurityException- if unable to generate the pair
-
cloneKeyPair
default java.security.KeyPair cloneKeyPair(java.security.KeyPair kp) throws java.security.GeneralSecurityException- Parameters:
kp- TheKeyPairto be cloned - ignored ifnull- Returns:
- A cloned pair (or
nullif no original pair) - Throws:
java.security.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 java.security.GeneralSecurityException
- Parameters:
key- ThePublicKeyto clone - ignored ifnull- Returns:
- The cloned key (or
nullif no original key) - Throws:
java.security.GeneralSecurityException- If failed to clone the key
-
clonePrivateKey
PRV clonePrivateKey(PRV key) throws java.security.GeneralSecurityException
- Parameters:
key- ThePrivateKeyto clone - ignored ifnull- Returns:
- The cloned key (or
nullif no original key) - Throws:
java.security.GeneralSecurityException- If failed to clone the key
-
getKeyPairGenerator
java.security.KeyPairGenerator getKeyPairGenerator() throws java.security.GeneralSecurityException- Returns:
- A
KeyPairGeneratorsuitable for this decoder - Throws:
java.security.GeneralSecurityException- If failed to create the generator
-
getKeyFactoryInstance
java.security.KeyFactory getKeyFactoryInstance() throws java.security.GeneralSecurityException- Returns:
- A
KeyFactorysuitable for the specific decoder type - Throws:
java.security.GeneralSecurityException- If failed to create one
-
encodeString
static int encodeString(java.io.OutputStream s, java.lang.String v) throws java.io.IOException- Throws:
java.io.IOException
-
encodeString
static int encodeString(java.io.OutputStream s, java.lang.String v, java.lang.String charset) throws java.io.IOException- Throws:
java.io.IOException
-
encodeString
static int encodeString(java.io.OutputStream s, java.lang.String v, java.nio.charset.Charset cs) throws java.io.IOException- Throws:
java.io.IOException
-
encodeBigInt
static int encodeBigInt(java.io.OutputStream s, java.math.BigInteger v) throws java.io.IOException- Throws:
java.io.IOException
-
writeRLEBytes
static int writeRLEBytes(java.io.OutputStream s, byte... bytes) throws java.io.IOException- Throws:
java.io.IOException
-
writeRLEBytes
static int writeRLEBytes(java.io.OutputStream s, byte[] bytes, int off, int len) throws java.io.IOException- Throws:
java.io.IOException
-
encodeInt
static byte[] encodeInt(java.io.OutputStream s, int v) throws java.io.IOException- Throws:
java.io.IOException
-
decodeString
static java.lang.String decodeString(java.io.InputStream s, int maxChars) throws java.io.IOException- Throws:
java.io.IOException
-
decodeString
static java.lang.String decodeString(java.io.InputStream s, java.lang.String charset, int maxChars) throws java.io.IOException- Throws:
java.io.IOException
-
decodeString
static java.lang.String decodeString(java.io.InputStream s, java.nio.charset.Charset cs, int maxChars) throws java.io.IOException- Throws:
java.io.IOException
-
decodeBigInt
static java.math.BigInteger decodeBigInt(java.io.InputStream s) throws java.io.IOException- Throws:
java.io.IOException
-
readRLEBytes
static byte[] readRLEBytes(java.io.InputStream s, int maxAllowed) throws java.io.IOException- Throws:
java.io.IOException
-
decodeInt
static int decodeInt(java.io.InputStream s) throws java.io.IOException- Throws:
java.io.IOException
-
decodeString
static java.util.Map.Entry<java.lang.String,java.lang.Integer> decodeString(byte[] buf, int maxChars)
-
decodeString
static java.util.Map.Entry<java.lang.String,java.lang.Integer> decodeString(byte[] buf, int offset, int available, int maxChars)
-
decodeString
static java.util.Map.Entry<java.lang.String,java.lang.Integer> decodeString(byte[] buf, java.nio.charset.Charset cs, int maxChars)
-
decodeString
static java.util.Map.Entry<java.lang.String,java.lang.Integer> decodeString(byte[] buf, int offset, int available, java.nio.charset.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 java.util.Map.Entry<byte[],java.lang.Integer> readRLEBytes(byte[] buf, int maxAllowed)
-
readRLEBytes
static java.util.Map.Entry<byte[],java.lang.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)
-
-