public class AuthorizedKeyEntry extends PublicKeyEntry
authorized_keys
file according to the
OpenSSH
format. Note: equals/hashCode
check only the key type and data - the comment and/or login options
are not considered part of equalityModifier and Type | Field and Description |
---|---|
static char |
BOOLEAN_OPTION_NEGATION_INDICATOR |
COMMENT_CHAR, STD_KEYFILE_FOLDER_NAME
Constructor and Description |
---|
AuthorizedKeyEntry() |
appendPublicKeyEntry, appendPublicKeyEntry, getDefaultKeysFolderPath, getKeyData, getKeyDataEntryResolver, getKeyDataResolver, getKeyType, getRegisteredKeyDataEntryResolvers, isEquivalent, parsePublicKeyEntry, parsePublicKeyEntry, parsePublicKeyEntry, parsePublicKeyEntry, registerKeyDataEntryResolver, resolveKeyDataEntryResolver, resolvePublicKey, resolvePublicKeyEntries, resolvePublicKeyEntryDataResolver, setKeyData, setKeyDataResolver, setKeyType, toString, toString, unregisterKeyDataEntryResolver
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
groupByKeyType
public static final char BOOLEAN_OPTION_NEGATION_INDICATOR
public String getComment()
public void setComment(String value)
public PublicKey resolvePublicKey(SessionContext session, PublicKeyEntryResolver fallbackResolver) throws IOException, 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).fallbackResolver
- The PublicKeyEntryResolver
to consult if none of the built-in ones can
be used. If null
and no built-in resolver can be used then an
InvalidKeySpecException
is thrown.PublicKey
- or null
if could not be resolved.
Note: may be called only after key type and data bytes have been set or
exception(s) may be thrownIOException
- If failed to decode the keyGeneralSecurityException
- If failed to generate the keyPublicKeyEntry.resolvePublicKey(SessionContext, Map, PublicKeyEntryResolver)
public PublicKey appendPublicKey(SessionContext session, Appendable sb, PublicKeyEntryResolver fallbackResolver) throws IOException, GeneralSecurityException
appendPublicKey
in class PublicKeyEntry
session
- The SessionContext
for invoking this command - may be null
if
not invoked within a session context (e.g., offline tool or session unknown).sb
- The Appendable
instance to encode the data intofallbackResolver
- The PublicKeyEntryResolver
to consult if none of the built-in ones can
be used. If null
and no built-in resolver can be used then an
InvalidKeySpecException
is thrown.PublicKey
or null
if could not resolve itIOException
- If failed to decode/encode the keyGeneralSecurityException
- If failed to generate the keyPublicKeyEntry.resolvePublicKey(SessionContext, Map, PublicKeyEntryResolver)
public int hashCode()
hashCode
in class PublicKeyEntry
public boolean equals(Object obj)
equals
in class PublicKeyEntry
public String toString()
toString
in class PublicKeyEntry
public static List<AuthorizedKeyEntry> readAuthorizedKeys(URL url) throws IOException
authorized_keys
fileurl
- The URL
to read fromList
of all the AuthorizedKeyEntry
-ies found thereIOException
- If failed to read or parse the entriesreadAuthorizedKeys(InputStream, boolean)
public static List<AuthorizedKeyEntry> readAuthorizedKeys(Path path, OpenOption... options) throws IOException
authorized_keys
filepath
- Path
to read fromoptions
- The OpenOption
s to use - if unspecified then appropriate defaults assumedList
of all the AuthorizedKeyEntry
-ies found thereIOException
- If failed to read or parse the entriesreadAuthorizedKeys(InputStream, boolean)
,
Files.newInputStream(Path, OpenOption...)
public static List<AuthorizedKeyEntry> readAuthorizedKeys(InputStream in, boolean okToClose) throws IOException
authorized_keys
filein
- The InputStream
to use to read the contents of an authorized_keys
fileokToClose
- true
if method may close the input regardless success or failureList
of all the AuthorizedKeyEntry
-ies found thereIOException
- If failed to read or parse the entriesreadAuthorizedKeys(Reader, boolean)
public static List<AuthorizedKeyEntry> readAuthorizedKeys(Reader rdr, boolean okToClose) throws IOException
authorized_keys
filerdr
- The Reader
to use to read the contents of an authorized_keys
fileokToClose
- true
if method may close the input regardless success or failureList
of all the AuthorizedKeyEntry
-ies found thereIOException
- If failed to read or parse the entriesreadAuthorizedKeys(BufferedReader)
public static List<AuthorizedKeyEntry> readAuthorizedKeys(BufferedReader rdr) throws IOException
rdr
- The BufferedReader
to use to read the contents of an authorized_keys
fileList
of all the AuthorizedKeyEntry
-ies found thereIOException
- If failed to read or parse the entriesparseAuthorizedKeyEntry(String)
public static AuthorizedKeyEntry parseAuthorizedKeyEntry(String value) throws IllegalArgumentException
value
- Original line from an authorized_keys
fileAuthorizedKeyEntry
or null
if the line is null
/empty or
a comment lineIllegalArgumentException
- If failed to parse/decode the lineparseAuthorizedKeyEntry(String, PublicKeyEntryDataResolver)
public static AuthorizedKeyEntry parseAuthorizedKeyEntry(String value, PublicKeyEntryDataResolver resolver) throws IllegalArgumentException
value
- Original line from an authorized_keys
fileresolver
- The PublicKeyEntryDataResolver
to use - if null
one will be
automatically resolved from the key typeAuthorizedKeyEntry
or null
if the line is null
/empty or
a comment lineIllegalArgumentException
- If failed to parse/decode the linepublic static AbstractMap.SimpleImmutableEntry<String,String> resolveEntryComponents(String entryLine)
authorized_keys
file that is known to contain login options and
separates it to the options and the rest of the line.entryLine
- The line to be parsedAbstractMap.SimpleImmutableEntry
representing the parsed data where key=login options part and
value=rest of the data - null
if no data in line or line starts with comment characterpublic static NavigableMap<String,String> parseLoginOptions(String options)
Parses login options line according to sshd(8) - AUTHORIZED_KEYS_FILE_FORMAT guidelines. Note:
true/false
- according to the
BOOLEAN_OPTION_NEGATION_INDICATOR
.
options
- The options line to parse - ignored if null
/empty/blankNavigableMap
where key=case insensitive option name and value=the parsed value.addLoginOption
public static AbstractMap.SimpleImmutableEntry<String,String> addLoginOption(Map<String,String> optsMap, String option)
optsMap
- Options map to add tooption
- The option data to parse - ignored if null
/empty/blanknull
if no option updated in the mapIllegalStateException
- If a boolean option is re-specifiedCopyright © 2018–2021 The Apache Software Foundation. All rights reserved.