public class OpenSSHKeyPairResourceParser extends AbstractKeyPairResourceParser
Modifier and Type | Field and Description |
---|---|
static String |
AUTH_MAGIC |
static String |
BEGIN_MARKER |
static List<String> |
BEGINNERS |
static String |
END_MARKER |
static List<String> |
ENDERS |
static OpenSSHKeyPairResourceParser |
INSTANCE |
log
EMPTY
MAX_CIPHER_NAME_LENGTH, MAX_KEY_COMMENT_LENGTH, MAX_KEY_TYPE_NAME_LENGTH, MAX_PRIVATE_KEY_DATA_SIZE, MAX_PUBLIC_KEY_DATA_SIZE
Constructor and Description |
---|
OpenSSHKeyPairResourceParser() |
canExtractKeyPairs, extractKeyPairs, extractKeyPairs, getBeginners, getEnders, getEndingMarkers, loadKeyPairs, separateDataLinesFromHeaders
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
aggregate, aggregate, containsMarkerLine, containsMarkerLine, extractDataBytes, findMarkerLine, findMarkerLine, joinDataLines
loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs
public static final String BEGIN_MARKER
public static final String END_MARKER
public static final String AUTH_MAGIC
public static final OpenSSHKeyPairResourceParser INSTANCE
public Collection<KeyPair> extractKeyPairs(SessionContext session, NamedResource resourceKey, String beginMarker, String endMarker, FilePasswordProvider passwordProvider, InputStream stream, Map<String,String> headers) throws IOException, GeneralSecurityException
extractKeyPairs
in class AbstractKeyPairResourceParser
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).resourceKey
- A hint as to the origin of the text linesbeginMarker
- The line containing the begin markerendMarker
- The line containing the end markerpasswordProvider
- The FilePasswordProvider
to use in case the data is encrypted - may be
null
if no encryptedstream
- The decoded data InputStream
headers
- Any headers that may have been available when data was readKeyPair
s - may be null
/empty if none.IOException
- If failed to parse the dataGeneralSecurityException
- If failed to generate the keysprotected OpenSSHKdfOptions resolveKdfOptions(SessionContext session, NamedResource resourceKey, String beginMarker, String endMarker, InputStream stream, Map<String,String> headers) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
protected PublicKey readPublicKey(SessionContext session, NamedResource resourceKey, OpenSSHParserContext context, InputStream stream, Map<String,String> headers) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
protected List<KeyPair> readPrivateKeys(SessionContext session, NamedResource resourceKey, OpenSSHParserContext context, Collection<? extends PublicKey> publicKeys, FilePasswordProvider passwordProvider, InputStream stream) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
protected Map.Entry<PrivateKey,String> readPrivateKey(SessionContext session, NamedResource resourceKey, OpenSSHParserContext context, String keyType, FilePasswordProvider passwordProvider, InputStream stream) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
protected <S extends InputStream> S validateStreamMagicMarker(SessionContext session, NamedResource resourceKey, S stream) throws IOException
IOException
public static void registerPrivateKeyEntryDecoder(PrivateKeyEntryDecoder<?,?> decoder)
decoder
- The decoder to registerIllegalArgumentException
- if no decoder or not key type or no supported names for the decoderIdentityResourceLoader.getPublicKeyType()
,
KeyTypeNamesSupport.getSupportedKeyTypes()
public static PrivateKeyEntryDecoder<?,?> getPrivateKeyEntryDecoder(String keyType)
keyType
- The OpenSSH
key type string - e.g., ssh-rsa, ssh-dss
- ignored if
null
/emptyPrivateKeyEntryDecoder
or {code null} if not foundpublic static PrivateKeyEntryDecoder<?,?> getPrivateKeyEntryDecoder(KeyPair kp)
kp
- The KeyPair
to examine - ignored if null
PrivateKeyEntryDecoder
provided both the public and private keys have the
same decoder - null
if no match foundgetPrivateKeyEntryDecoder(Key)
public static PrivateKeyEntryDecoder<?,?> getPrivateKeyEntryDecoder(Key key)
key
- The Key
(public or private) - ignored if null
PrivateKeyEntryDecoder
for this key or {code null} if no match foundgetPrivateKeyEntryDecoder(Class)
public static PrivateKeyEntryDecoder<?,?> getPrivateKeyEntryDecoder(Class<?> keyType)
keyType
- The key Class
- ignored if null
or not a Key
compatible typePrivateKeyEntryDecoder
or {code null} if no match foundCopyright © 2008–2024 The Apache Software Foundation. All rights reserved.