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–2020 The Apache Software Foundation. All rights reserved.