PUB
- Generic public key typePRV
- Generic private key typepublic abstract class AbstractPuttyKeyDecoder<PUB extends PublicKey,PRV extends PrivateKey> extends AbstractIdentityResourceLoader<PUB,PRV> implements PuttyKeyPairResourceParser<PUB,PRV>
Modifier and Type | Field and Description |
---|---|
static String |
ENCRYPTION_HEADER |
log
FORMAT_3_MAC_KEY_LENGTH, KEY_FILE_HEADER_PREFIX, KNOWN_HEADERS, NO_PRIVATE_KEY_ENCRYPTION_VALUE, PPK_FILE_SUFFIX, PRIVATE_LINES_HEADER, PUBLIC_LINES_HEADER
MAX_BIGINT_OCTETS_COUNT
EMPTY
MAX_CIPHER_NAME_LENGTH, MAX_KEY_COMMENT_LENGTH, MAX_KEY_TYPE_NAME_LENGTH, MAX_PRIVATE_KEY_DATA_SIZE, MAX_PUBLIC_KEY_DATA_SIZE
Modifier | Constructor and Description |
---|---|
protected |
AbstractPuttyKeyDecoder(Class<PUB> pubType,
Class<PRV> prvType,
Collection<String> names) |
Modifier and Type | Method and Description |
---|---|
boolean |
canExtractKeyPairs(NamedResource resourceKey,
List<String> lines) |
static List<String> |
extractDataLines(NamedResource resourceKey,
List<String> lines,
int startIndex,
String hdrName,
String hdrValue,
List<String> curLines) |
Collection<KeyPair> |
loadKeyPairs(NamedResource resourceKey,
int formatVersion,
byte[] pubData,
byte[] prvData,
Map<String,String> headers) |
Collection<KeyPair> |
loadKeyPairs(NamedResource resourceKey,
int formatVersion,
InputStream pubData,
InputStream prvData,
Map<String,String> headers) |
abstract Collection<KeyPair> |
loadKeyPairs(NamedResource resourceKey,
int formatVersion,
PuttyKeyReader pubReader,
PuttyKeyReader prvReader,
Map<String,String> headers) |
Collection<KeyPair> |
loadKeyPairs(SessionContext session,
NamedResource resourceKey,
FilePasswordProvider passwordProvider,
List<String> lines)
Loads key pairs from the given resource text lines
|
Collection<KeyPair> |
loadKeyPairs(SessionContext session,
NamedResource resourceKey,
int formatVersion,
List<String> pubLines,
List<String> prvLines,
String prvEncryption,
FilePasswordProvider passwordProvider,
Map<String,String> headers) |
Collection<KeyPair> |
loadKeyPairs(SessionContext session,
NamedResource resourceKey,
int formatVersion,
String pubData,
String prvData,
String prvEncryption,
FilePasswordProvider passwordProvider,
Map<String,String> headers) |
getPrivateKeyType, getPublicKeyType, getSupportedKeyTypes
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
decodeEncryptionKey, decodePrivateKeyBytes, decodePrivateKeyBytes, deriveFormat2EncryptionKey, deriveFormat3EncryptionKey, getHexArrayHeaderValue, getIntegerHeaderValue, getStringHeaderValue
getPrivateKeyType, getPublicKeyType
findSupporterByKeyTypeName, getSupportedKeyTypes
aggregate, aggregate, containsMarkerLine, containsMarkerLine, extractDataBytes, findMarkerLine, findMarkerLine, joinDataLines
loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs
public static final String ENCRYPTION_HEADER
public boolean canExtractKeyPairs(NamedResource resourceKey, List<String> lines) throws IOException, GeneralSecurityException
canExtractKeyPairs
in interface KeyPairResourceParser
canExtractKeyPairs
in interface PuttyKeyPairResourceParser<PUB extends PublicKey,PRV extends PrivateKey>
resourceKey
- A hint as to the origin of the text lineslines
- The resource linestrue
if the parser can extract some key pairs from the linesIOException
- If failed to process the linesGeneralSecurityException
- If failed to extract information regarding the possibility to extract the key
pairspublic Collection<KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, List<String> lines) throws IOException, GeneralSecurityException
KeyPairResourceLoader
loadKeyPairs
in interface KeyPairResourceLoader
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 linespasswordProvider
- The FilePasswordProvider
to use in case the data is encrypted - may be
null
if no encrypted data is expectedlines
- The List
of lines as read from the resourceKeyPair
s - may be null
/empty if none. Note:
the resource loader may decide to skip unknown lines if more than one key pair
type is encoded in itIOException
- If failed to process the linesGeneralSecurityException
- If failed to generate the keys from the parsed datapublic static List<String> extractDataLines(NamedResource resourceKey, List<String> lines, int startIndex, String hdrName, String hdrValue, List<String> curLines) throws IOException
IOException
public Collection<KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, int formatVersion, List<String> pubLines, List<String> prvLines, String prvEncryption, FilePasswordProvider passwordProvider, Map<String,String> headers) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
public Collection<KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, int formatVersion, String pubData, String prvData, String prvEncryption, FilePasswordProvider passwordProvider, Map<String,String> headers) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
public Collection<KeyPair> loadKeyPairs(NamedResource resourceKey, int formatVersion, byte[] pubData, byte[] prvData, Map<String,String> headers) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
public Collection<KeyPair> loadKeyPairs(NamedResource resourceKey, int formatVersion, InputStream pubData, InputStream prvData, Map<String,String> headers) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
public abstract Collection<KeyPair> loadKeyPairs(NamedResource resourceKey, int formatVersion, PuttyKeyReader pubReader, PuttyKeyReader prvReader, Map<String,String> headers) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
Copyright © 2008–2024 The Apache Software Foundation. All rights reserved.