PUB
- Generic public key typePRV
- Generic private key typepublic abstract class AbstractPuttyKeyDecoder<PUB extends java.security.PublicKey,PRV extends java.security.PrivateKey> extends AbstractIdentityResourceLoader<PUB,PRV> implements PuttyKeyPairResourceParser<PUB,PRV>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ENCRYPTION_HEADER |
log
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(java.lang.Class<PUB> pubType,
java.lang.Class<PRV> prvType,
java.util.Collection<java.lang.String> names) |
Modifier and Type | Method and Description |
---|---|
boolean |
canExtractKeyPairs(NamedResource resourceKey,
java.util.List<java.lang.String> lines) |
static java.util.List<java.lang.String> |
extractDataLines(NamedResource resourceKey,
java.util.List<java.lang.String> lines,
int startIndex,
java.lang.String hdrName,
java.lang.String hdrValue,
java.util.List<java.lang.String> curLines) |
java.util.Collection<java.security.KeyPair> |
loadKeyPairs(NamedResource resourceKey,
byte[] pubData,
byte[] prvData) |
java.util.Collection<java.security.KeyPair> |
loadKeyPairs(NamedResource resourceKey,
java.io.InputStream pubData,
java.io.InputStream prvData) |
abstract java.util.Collection<java.security.KeyPair> |
loadKeyPairs(NamedResource resourceKey,
PuttyKeyReader pubReader,
PuttyKeyReader prvReader) |
java.util.Collection<java.security.KeyPair> |
loadKeyPairs(SessionContext session,
NamedResource resourceKey,
FilePasswordProvider passwordProvider,
java.util.List<java.lang.String> lines)
Loads key pairs from the given resource text lines
|
java.util.Collection<java.security.KeyPair> |
loadKeyPairs(SessionContext session,
NamedResource resourceKey,
java.util.List<java.lang.String> pubLines,
java.util.List<java.lang.String> prvLines,
java.lang.String prvEncryption,
FilePasswordProvider passwordProvider) |
java.util.Collection<java.security.KeyPair> |
loadKeyPairs(SessionContext session,
NamedResource resourceKey,
java.lang.String pubData,
java.lang.String prvData,
java.lang.String prvEncryption,
FilePasswordProvider passwordProvider) |
getPrivateKeyType, getPublicKeyType, getSupportedKeyTypes
getSimplifiedLogger
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
decodePrivateKeyBytes, decodePrivateKeyBytes, toEncryptionKey
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 java.lang.String ENCRYPTION_HEADER
public boolean canExtractKeyPairs(NamedResource resourceKey, java.util.List<java.lang.String> lines) throws java.io.IOException, java.security.GeneralSecurityException
canExtractKeyPairs
in interface KeyPairResourceParser
canExtractKeyPairs
in interface PuttyKeyPairResourceParser<PUB extends java.security.PublicKey,PRV extends java.security.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 linesjava.io.IOException
- If failed to process the linesjava.security.GeneralSecurityException
- If failed to extract information regarding
the possibility to extract the key pairspublic java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, FilePasswordProvider passwordProvider, java.util.List<java.lang.String> lines) throws java.io.IOException, java.security.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 itjava.io.IOException
- If failed to process the linesjava.security.GeneralSecurityException
- If failed to generate the keys from the
parsed datapublic static java.util.List<java.lang.String> extractDataLines(NamedResource resourceKey, java.util.List<java.lang.String> lines, int startIndex, java.lang.String hdrName, java.lang.String hdrValue, java.util.List<java.lang.String> curLines) throws java.io.IOException
java.io.IOException
public java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, java.util.List<java.lang.String> pubLines, java.util.List<java.lang.String> prvLines, java.lang.String prvEncryption, FilePasswordProvider passwordProvider) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException
public java.util.Collection<java.security.KeyPair> loadKeyPairs(SessionContext session, NamedResource resourceKey, java.lang.String pubData, java.lang.String prvData, java.lang.String prvEncryption, FilePasswordProvider passwordProvider) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException
public java.util.Collection<java.security.KeyPair> loadKeyPairs(NamedResource resourceKey, byte[] pubData, byte[] prvData) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException
public java.util.Collection<java.security.KeyPair> loadKeyPairs(NamedResource resourceKey, java.io.InputStream pubData, java.io.InputStream prvData) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException
public abstract java.util.Collection<java.security.KeyPair> loadKeyPairs(NamedResource resourceKey, PuttyKeyReader pubReader, PuttyKeyReader prvReader) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException