Class ClientIdentity
- java.lang.Object
-
- org.apache.sshd.client.config.keys.ClientIdentity
-
public final class ClientIdentity extends Object
Provides keys loading capability from the user's keys folder - e.g.,id_rsa- Author:
- Apache MINA SSHD Project
- See Also:
SecurityUtils.getKeyPairResourceParser()
-
-
Field Summary
Fields Modifier and Type Field Description static StringID_FILE_PREFIXstatic StringID_FILE_SUFFIXstatic Function<String,String>ID_GENERATOR
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringgetIdentityFileName(String type)static StringgetIdentityFileName(NamedResource r)static StringgetIdentityType(String name)static Map<String,KeyPair>loadDefaultIdentities(boolean strict, FilePasswordProvider provider, LinkOption... options)static Map<String,KeyPair>loadDefaultIdentities(Path dir, boolean strict, FilePasswordProvider provider, LinkOption... options)static KeyPairProviderloadDefaultKeyPairProvider(boolean strict, boolean supportedOnly, FilePasswordProvider provider, LinkOption... options)static KeyPairProviderloadDefaultKeyPairProvider(Path dir, boolean strict, boolean supportedOnly, FilePasswordProvider provider, LinkOption... options)static Map<String,KeyPair>loadIdentities(SessionContext session, Path dir, boolean strict, Collection<String> types, Function<? super String,String> idGenerator, FilePasswordProvider provider, LinkOption... options)Scans a folder and loads all available identity filesstatic Map<String,Path>scanIdentitiesFolder(Path dir, boolean strict, Collection<String> types, Function<? super String,String> idGenerator, LinkOption... options)Scans a folder for possible identity files
-
-
-
Field Detail
-
ID_FILE_PREFIX
public static final String ID_FILE_PREFIX
- See Also:
- Constant Field Values
-
ID_FILE_SUFFIX
public static final String ID_FILE_SUFFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getIdentityType
public static String getIdentityType(String name)
- Parameters:
name- The file name - ignored ifnull/empty- Returns:
- The identity type -
nullif cannot determine it - e.g., does not start with theID_FILE_PREFIX
-
getIdentityFileName
public static String getIdentityFileName(NamedResource r)
-
getIdentityFileName
public static String getIdentityFileName(String type)
- Parameters:
type- The identity type - e.g.,rsa- ignored ifnull/empty- Returns:
- The matching file name for the identity -
nullif no name - See Also:
ID_FILE_PREFIX,ID_FILE_SUFFIX,IdentityUtils.getIdentityFileName(String, String, String)
-
loadDefaultKeyPairProvider
public static KeyPairProvider loadDefaultKeyPairProvider(boolean strict, boolean supportedOnly, FilePasswordProvider provider, LinkOption... options) throws IOException, GeneralSecurityException
- Parameters:
strict- Iftruethen files that do not have the required access rights are excluded from considerationsupportedOnly- Iftruethen ignore identities that are not supported internallyprovider- AFilePasswordProvider- may benullif the loaded keys are guaranteed not to be encrypted. The argument toFilePasswordProvider#getPasswordis the path of the file whose key is to be loadedoptions- TheLinkOptions to apply when checking for existence- Returns:
- A
KeyPairfor the identities -nullif no identities available (e.g., after filtering unsupported ones or strict permissions) - Throws:
IOException- If failed to access the file systemGeneralSecurityException- If failed to load the keys- See Also:
PublicKeyEntry.getDefaultKeysFolderPath(),loadDefaultIdentities(Path, boolean, FilePasswordProvider, LinkOption...)
-
loadDefaultKeyPairProvider
public static KeyPairProvider loadDefaultKeyPairProvider(Path dir, boolean strict, boolean supportedOnly, FilePasswordProvider provider, LinkOption... options) throws IOException, GeneralSecurityException
- Parameters:
dir- The folder to scan for the built-in identitiesstrict- Iftruethen files that do not have the required access rights are excluded from considerationsupportedOnly- Iftruethen ignore identities that are not supported internallyprovider- AFilePasswordProvider- may benullif the loaded keys are guaranteed not to be encrypted. The argument toFilePasswordProvider#getPasswordis the path of the file whose key is to be loadedoptions- TheLinkOptions to apply when checking for existence- Returns:
- A
KeyPairfor the identities -nullif no identities available (e.g., after filtering unsupported ones or strict permissions) - Throws:
IOException- If failed to access the file systemGeneralSecurityException- If failed to load the keys- See Also:
loadDefaultIdentities(Path, boolean, FilePasswordProvider, LinkOption...),IdentityUtils.createKeyPairProvider(Map, boolean)
-
loadDefaultIdentities
public static Map<String,KeyPair> loadDefaultIdentities(boolean strict, FilePasswordProvider provider, LinkOption... options) throws IOException, GeneralSecurityException
- Parameters:
strict- Iftruethen files that do not have the required access rights are excluded from considerationprovider- AFilePasswordProvider- may benullif the loaded keys are guaranteed not to be encrypted. The argument toFilePasswordProvider#getPasswordis the path of the file whose key is to be loadedoptions- TheLinkOptions to apply when checking for existence- Returns:
- A
Mapof the found files where key=identity type (case insensitive), value=theKeyPairof the identity - Throws:
IOException- If failed to access the file systemGeneralSecurityException- If failed to load the keys- See Also:
PublicKeyEntry.getDefaultKeysFolderPath(),loadDefaultIdentities(Path, boolean, FilePasswordProvider, LinkOption...)
-
loadDefaultIdentities
public static Map<String,KeyPair> loadDefaultIdentities(Path dir, boolean strict, FilePasswordProvider provider, LinkOption... options) throws IOException, GeneralSecurityException
- Parameters:
dir- The folder to scan for the built-in identitiesstrict- Iftruethen files that do not have the required access rights are excluded from considerationprovider- AFilePasswordProvider- may benullif the loaded keys are guaranteed not to be encrypted. The argument toFilePasswordProvider#getPasswordis the path of the file whose key is to be loadedoptions- TheLinkOptions to apply when checking for existence- Returns:
- A
Mapof the found files where key=identity type (case insensitive), value=theKeyPairof the identity - Throws:
IOException- If failed to access the file systemGeneralSecurityException- If failed to load the keys- See Also:
BuiltinIdentities
-
loadIdentities
public static Map<String,KeyPair> loadIdentities(SessionContext session, Path dir, boolean strict, Collection<String> types, Function<? super String,String> idGenerator, FilePasswordProvider provider, LinkOption... options) throws IOException, GeneralSecurityException
Scans a folder and loads all available identity files- Parameters:
session- TheSessionContextfor invoking this load command - may benullif not invoked within a session context (e.g., offline tool or session unknown).dir- ThePathof the folder to scan - ignored if not existsstrict- Iftruethen files that do not have the required access rights are excluded from considerationtypes- The identity types - ignored ifnull/emptyidGenerator- AFunctionto derive the file name holding the specified typeprovider- AFilePasswordProvider- may benullif the loaded keys are guaranteed not to be encrypted. The argument toFilePasswordProvider#getPasswordis the path of the file whose key is to be loadedoptions- TheLinkOptions to apply when checking for existence- Returns:
- A
Mapof the found files where key=identity type (case insensitive), value=theKeyPairof the identity - Throws:
IOException- If failed to access the file systemGeneralSecurityException- If failed to load the keys
-
scanIdentitiesFolder
public static Map<String,Path> scanIdentitiesFolder(Path dir, boolean strict, Collection<String> types, Function<? super String,String> idGenerator, LinkOption... options) throws IOException
Scans a folder for possible identity files- Parameters:
dir- ThePathof the folder to scan - ignored if not existsstrict- Iftruethen files that do not have the required access rights are excluded from considerationtypes- The identity types - ignored ifnull/emptyidGenerator- AFunctionto derive the file name holding the specified typeoptions- TheLinkOptions to apply when checking for existence- Returns:
- A
Mapof the found files where key=identity type (case insensitive), value=thePathof the file holding the key - Throws:
IOException- If failed to access the file system- See Also:
KeyUtils.validateStrictKeyFilePermissions(Path, LinkOption...)
-
-