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 equality| Modifier 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, unregisterKeyDataEntryResolverclone, finalize, getClass, notify, notifyAll, wait, wait, waitgroupByKeyTypepublic 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 PublicKeyEntrysession - 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 PublicKeyEntrypublic boolean equals(Object obj)
equals in class PublicKeyEntrypublic String toString()
toString in class PublicKeyEntrypublic 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 OpenOptions 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.addLoginOptionpublic 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.