@FunctionalInterface
public interface KeyIdentityProvider
Modifier and Type | Field and Description |
---|---|
static KeyIdentityProvider |
EMPTY_KEYS_PROVIDER
An "empty" implementation of
KeyIdentityProvider that returns an empty group of key pairs |
Modifier and Type | Method and Description |
---|---|
static java.security.KeyPair |
exhaustCurrentIdentities(java.util.Iterator<? extends 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 of
KeyIdentityProvider into a single one |
static KeyIdentityProvider |
multiProvider(KeyIdentityProvider... providers)
Wraps a group of
KeyIdentityProvider into a single one |
static 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 of
KeyPair s into a KeyIdentityProvider |
static KeyIdentityProvider |
wrapKeyPairs(java.security.KeyPair... pairs)
Wraps a group of
KeyPair s into a KeyIdentityProvider |
static final KeyIdentityProvider EMPTY_KEYS_PROVIDER
KeyIdentityProvider
that returns an empty group of key pairsjava.lang.Iterable<java.security.KeyPair> loadKeys(SessionContext session) throws java.io.IOException, java.security.GeneralSecurityException
session
- The SessionContext
for invoking this load command - may be null
if not invoked within a session context (e.g., offline tool or session unknown).Iterable
instance of available keys - ignored if null
java.io.IOException
- If failed to read/parse the keys datajava.security.GeneralSecurityException
- If failed to generate the keysstatic boolean isEmpty(KeyIdentityProvider provider)
provider
- The KeyIdentityProvider
instance to verifytrue
if instance is null
or the EMPTY_KEYS_PROVIDER
static KeyIdentityProvider resolveKeyIdentityProvider(KeyIdentityProvider identities, KeyIdentityProvider keys)
Creates a "unified" KeyIdentityProvider
out of 2 possible ones as follows:
null
then return null
.null
/empty
then use the non-null
one.identities
- The registered key pair identitieskeys
- The extra available key pairsmultiProvider(KeyIdentityProvider...)
static KeyIdentityProvider multiProvider(KeyIdentityProvider... providers)
KeyIdentityProvider
into a single oneproviders
- The providers - ignored if null
/empty (i.e., returns EMPTY_KEYS_PROVIDER
)multiProvider(Collection)
static KeyIdentityProvider multiProvider(java.util.Collection<? extends KeyIdentityProvider> providers)
KeyIdentityProvider
into a single oneproviders
- The providers - ignored if null
/empty (i.e., returns EMPTY_KEYS_PROVIDER
)MultiKeyIdentityProvider
static java.lang.Iterable<java.security.KeyPair> iterableOf(SessionContext session, java.util.Collection<? extends KeyIdentityProvider> providers)
session
- The SessionContext
for invoking this load command - may be null
if not invoked
within a session context (e.g., offline tool or session unknown).providers
- The group of providers - ignored if null
/empty (i.e., returns an empty iterable
instance)static KeyIdentityProvider wrapKeyPairs(java.security.KeyPair... pairs)
KeyPair
s into a KeyIdentityProvider
pairs
- The key pairs - ignored if null
/empty (i.e., returns EMPTY_KEYS_PROVIDER
).static KeyIdentityProvider wrapKeyPairs(java.lang.Iterable<java.security.KeyPair> pairs)
KeyPair
s into a KeyIdentityProvider
pairs
- The key pairs Iterable
- ignored if null
(i.e., returns
EMPTY_KEYS_PROVIDER
).static java.security.KeyPair exhaustCurrentIdentities(java.util.Iterator<? extends java.security.KeyPair> ids)
null
KeyPair
ids
- The Iterator
- ignored if null
or no next element availablenull
key pair found in the iterator - null
if all elements exhausted
without such an entry