Interface KeyPairResourceLoader
-
- All Known Subinterfaces:
KeyPairPEMResourceParser
,KeyPairResourceParser
,PuttyKeyPairResourceParser<PUB,PRV>
- All Known Implementing Classes:
AbstractKeyPairResourceParser
,AbstractPEMResourceKeyPairParser
,AbstractPuttyKeyDecoder
,BouncyCastleKeyPairResourceParser
,DSSPEMResourceKeyPairParser
,DSSPuttyKeyDecoder
,ECDSAPEMResourceKeyPairParser
,ECDSAPuttyKeyDecoder
,EdDSAPuttyKeyDecoder
,FileWatcherKeyPairResourceLoader
,OpenSSHKeyPairResourceParser
,PKCS8PEMResourceKeyPairParser
,RSAPEMResourceKeyPairParser
,RSAPuttyKeyDecoder
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface KeyPairResourceLoader
LoadsKeyPair
s from text resources
-
-
Field Summary
Fields Modifier and Type Field Description static KeyPairResourceLoader
EMPTY
An empty loader that never fails but always returns an empty liststatic int
MAX_CIPHER_NAME_LENGTH
static int
MAX_KEY_COMMENT_LENGTH
static int
MAX_KEY_TYPE_NAME_LENGTH
static int
MAX_PRIVATE_KEY_DATA_SIZE
static int
MAX_PUBLIC_KEY_DATA_SIZE
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, java.net.URL url, FilePasswordProvider passwordProvider)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, java.net.URL url, FilePasswordProvider passwordProvider, java.nio.charset.Charset cs)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, java.nio.file.Path path, FilePasswordProvider passwordProvider, java.nio.charset.Charset cs, java.nio.file.OpenOption... options)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, java.nio.file.Path path, FilePasswordProvider passwordProvider, java.nio.file.OpenOption... options)
Loads private key data - Note: any non-ASCII characters are assumed to be UTF-8 encodeddefault java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.BufferedReader r)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.InputStream stream)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.InputStream stream, java.nio.charset.Charset cs)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.Reader r)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.lang.String data)
java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.util.List<java.lang.String> lines)
Loads key pairs from the given resource text linesdefault java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, IoResource<?> resource, FilePasswordProvider passwordProvider)
default java.util.Collection<java.security.KeyPair>
loadKeyPairs(SessionContext session, IoResource<?> resource, FilePasswordProvider passwordProvider, java.nio.charset.Charset cs)
-
-
-
Field Detail
-
MAX_CIPHER_NAME_LENGTH
static final int MAX_CIPHER_NAME_LENGTH
- See Also:
- Constant Field Values
-
MAX_KEY_TYPE_NAME_LENGTH
static final int MAX_KEY_TYPE_NAME_LENGTH
- See Also:
- Constant Field Values
-
MAX_KEY_COMMENT_LENGTH
static final int MAX_KEY_COMMENT_LENGTH
- See Also:
- Constant Field Values
-
MAX_PUBLIC_KEY_DATA_SIZE
static final int MAX_PUBLIC_KEY_DATA_SIZE
- See Also:
- Constant Field Values
-
MAX_PRIVATE_KEY_DATA_SIZE
static final int MAX_PRIVATE_KEY_DATA_SIZE
- See Also:
- Constant Field Values
-
EMPTY
static final KeyPairResourceLoader EMPTY
An empty loader that never fails but always returns an empty list
-
-
Method Detail
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, java.nio.file.Path path, FilePasswordProvider passwordProvider, java.nio.file.OpenOption... options) throws java.io.IOException, java.security.GeneralSecurityException
Loads private key data - Note: any non-ASCII characters are assumed to be UTF-8 encoded- Parameters:
session
- TheSessionContext
for invoking this load command - may benull
if not invoked within a session context (e.g., offline tool or session unknown).path
- The private key filePath
passwordProvider
- TheFilePasswordProvider
to use in case the data is encrypted - may benull
if no encrypted data is expectedoptions
- TheOpenOption
-s to use to access the file data- Returns:
- The extracted
KeyPair
s - may benull
/empty if none. Note: the resource loader may decide to skip unknown lines if more than one key pair type is encoded in it - Throws:
java.io.IOException
- If failed to process the linesjava.security.GeneralSecurityException
- If failed to generate the keys from the parsed data
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, java.nio.file.Path path, FilePasswordProvider passwordProvider, java.nio.charset.Charset cs, java.nio.file.OpenOption... options) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, java.net.URL url, FilePasswordProvider passwordProvider) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, java.net.URL url, FilePasswordProvider passwordProvider, java.nio.charset.Charset cs) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, IoResource<?> resource, FilePasswordProvider passwordProvider) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, IoResource<?> resource, FilePasswordProvider passwordProvider, java.nio.charset.Charset cs) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.lang.String data) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.InputStream stream) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.InputStream stream, java.nio.charset.Charset cs) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.Reader r) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
default java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.io.BufferedReader r) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOException
java.security.GeneralSecurityException
-
loadKeyPairs
java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.util.List<java.lang.String> lines) throws java.io.IOException, java.security.GeneralSecurityException
Loads key pairs from the given resource text lines- Parameters:
session
- TheSessionContext
for invoking this load command - may benull
if not invoked within a session context (e.g., offline tool or session unknown).resourceKey
- A hint as to the origin of the text linespasswordProvider
- TheFilePasswordProvider
to use in case the data is encrypted - may benull
if no encrypted data is expectedlines
- TheList
of lines as read from the resource- Returns:
- The extracted
KeyPair
s - may benull
/empty if none. Note: the resource loader may decide to skip unknown lines if more than one key pair type is encoded in it - Throws:
java.io.IOException
- If failed to process the linesjava.security.GeneralSecurityException
- If failed to generate the keys from the parsed data
-
-