Interface KeyIdentityProvider
-
- All Known Subinterfaces:
AuthenticationIdentitiesProvider
,KeyPairProvider
- All Known Implementing Classes:
AbstractGeneratorHostKeyProvider
,AbstractKeyPairProvider
,AbstractResourceKeyPairProvider
,BouncyCastleGeneratorHostKeyProvider
,BuiltinClientIdentitiesWatcher
,ClassLoadableResourceKeyPairProvider
,ClientIdentitiesWatcher
,DefaultClientIdentitiesWatcher
,FileKeyPairProvider
,LazyClientKeyIdentityProvider
,MappedKeyPairProvider
,MultiKeyIdentityProvider
,SimpleGeneratorHostKeyProvider
- 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 KeyIdentityProvider
-
-
Field Summary
Fields Modifier and Type Field Description static KeyIdentityProvider
EMPTY_KEYS_PROVIDER
An "empty" implementation ofKeyIdentityProvider
that returns an empty group of key pairs
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static java.security.KeyPair
exhaustCurrentIdentities(java.util.Iterator<java.security.KeyPair> ids)
Attempts to find the first non-null
KeyPair
static boolean
isEmpty(KeyIdentityProvider provider)
static java.lang.Iterable<java.security.KeyPair>
iterableOf(SessionContext session, java.util.Collection<? extends KeyIdentityProvider> providers)
java.lang.Iterable<java.security.KeyPair>
loadKeys(SessionContext session)
Load available keys.static KeyIdentityProvider
multiProvider(java.util.Collection<? extends KeyIdentityProvider> providers)
Wraps a group ofKeyIdentityProvider
into a single onestatic KeyIdentityProvider
multiProvider(KeyIdentityProvider... providers)
Wraps a group ofKeyIdentityProvider
into a single onestatic KeyIdentityProvider
resolveKeyIdentityProvider(KeyIdentityProvider identities, KeyIdentityProvider keys)
Creates a "unified"KeyIdentityProvider
out of 2 possible ones as follows:static KeyIdentityProvider
wrapKeyPairs(java.lang.Iterable<java.security.KeyPair> pairs)
Wraps a group ofKeyPair
s into aKeyIdentityProvider
static KeyIdentityProvider
wrapKeyPairs(java.security.KeyPair... pairs)
Wraps a group ofKeyPair
s into aKeyIdentityProvider
-
-
-
Field Detail
-
EMPTY_KEYS_PROVIDER
static final KeyIdentityProvider EMPTY_KEYS_PROVIDER
An "empty" implementation ofKeyIdentityProvider
that returns an empty group of key pairs
-
-
Method Detail
-
loadKeys
java.lang.Iterable<java.security.KeyPair> loadKeys(SessionContext session) throws java.io.IOException, java.security.GeneralSecurityException
Load available keys.- Parameters:
session
- TheSessionContext
for invoking this load command - may benull
if not invoked within a session context (e.g., offline tool or session unknown).- Returns:
- an
Iterable
instance of available keys - ignored ifnull
- Throws:
java.io.IOException
- If failed to read/parse the keys datajava.security.GeneralSecurityException
- If failed to generate the keys
-
isEmpty
static boolean isEmpty(KeyIdentityProvider provider)
- Parameters:
provider
- TheKeyIdentityProvider
instance to verify- Returns:
true
if instance isnull
or theEMPTY_KEYS_PROVIDER
-
resolveKeyIdentityProvider
static KeyIdentityProvider resolveKeyIdentityProvider(KeyIdentityProvider identities, KeyIdentityProvider keys)
Creates a "unified"
KeyIdentityProvider
out of 2 possible ones as follows:- If both are
null
then returnnull
. - If either one is
null
/empty
then use the non-null
one. - If both are the same instance then use the instance.
- Otherwise, returns a wrapper that groups both providers.
- Parameters:
identities
- The registered key pair identitieskeys
- The extra available key pairs- Returns:
- The resolved provider
- See Also:
multiProvider(KeyIdentityProvider...)
- If both are
-
multiProvider
static KeyIdentityProvider multiProvider(KeyIdentityProvider... providers)
Wraps a group ofKeyIdentityProvider
into a single one- Parameters:
providers
- The providers - ignored ifnull
/empty (i.e., returnsEMPTY_KEYS_PROVIDER
)- Returns:
- The wrapping provider
- See Also:
multiProvider(Collection)
-
multiProvider
static KeyIdentityProvider multiProvider(java.util.Collection<? extends KeyIdentityProvider> providers)
Wraps a group ofKeyIdentityProvider
into a single one- Parameters:
providers
- The providers - ignored ifnull
/empty (i.e., returnsEMPTY_KEYS_PROVIDER
)- Returns:
- The wrapping provider
- See Also:
MultiKeyIdentityProvider
-
iterableOf
static java.lang.Iterable<java.security.KeyPair> iterableOf(SessionContext session, java.util.Collection<? extends KeyIdentityProvider> providers)
- Parameters:
session
- TheSessionContext
for invoking this load command - may benull
if not invoked within a session context (e.g., offline tool or session unknown).providers
- The group of providers - ignored ifnull
/empty (i.e., returns an empty iterable instance)- Returns:
- The wrapping iterable
-
wrapKeyPairs
static KeyIdentityProvider wrapKeyPairs(java.security.KeyPair... pairs)
Wraps a group ofKeyPair
s into aKeyIdentityProvider
- Parameters:
pairs
- The key pairs - ignored ifnull
/empty (i.e., returnsEMPTY_KEYS_PROVIDER
).- Returns:
- The provider wrapper
-
wrapKeyPairs
static KeyIdentityProvider wrapKeyPairs(java.lang.Iterable<java.security.KeyPair> pairs)
Wraps a group ofKeyPair
s into aKeyIdentityProvider
- Parameters:
pairs
- The key pairsIterable
- ignored ifnull
(i.e., returnsEMPTY_KEYS_PROVIDER
).- Returns:
- The provider wrapper
-
exhaustCurrentIdentities
static java.security.KeyPair exhaustCurrentIdentities(java.util.Iterator<java.security.KeyPair> ids)
Attempts to find the first non-null
KeyPair
- Parameters:
ids
- TheIterator
- ignored ifnull
or no next element available- Returns:
- The first non-
null
key pair found in the iterator -null
if all elements exhausted without such an entry
-
-