Class AbstractPEMResourceKeyPairParser
- java.lang.Object
-
- org.apache.sshd.common.util.logging.AbstractLoggingBean
-
- org.apache.sshd.common.config.keys.loader.AbstractKeyPairResourceParser
-
- org.apache.sshd.common.config.keys.loader.pem.AbstractPEMResourceKeyPairParser
-
- All Implemented Interfaces:
AlgorithmNameProvider
,KeyPairResourceLoader
,KeyPairResourceParser
,KeyPairPEMResourceParser
- Direct Known Subclasses:
DSSPEMResourceKeyPairParser
,ECDSAPEMResourceKeyPairParser
,Ed25519PEMResourceKeyParser
,PKCS8PEMResourceKeyPairParser
,RSAPEMResourceKeyPairParser
public abstract class AbstractPEMResourceKeyPairParser extends AbstractKeyPairResourceParser implements KeyPairPEMResourceParser
Base class for PEM file key-pair loaders
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
algId
private java.lang.String
algo
-
Fields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log
-
Fields inherited from interface org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader
MAX_CIPHER_NAME_LENGTH, MAX_KEY_COMMENT_LENGTH, MAX_KEY_TYPE_NAME_LENGTH, MAX_PRIVATE_KEY_DATA_SIZE, MAX_PUBLIC_KEY_DATA_SIZE
-
Fields inherited from interface org.apache.sshd.common.config.keys.loader.KeyPairResourceParser
EMPTY
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractPEMResourceKeyPairParser(java.lang.String algo, java.lang.String algId, java.util.List<java.lang.String> beginners, java.util.List<java.lang.String> enders)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected byte[]
applyPrivateKeyCipher(byte[] bytes, PrivateKeyEncryptionContext encContext, boolean encryptIt)
java.util.Collection<java.security.KeyPair>
extractKeyPairs(SessionContext session, NamedResource resourceKey, java.lang.String beginMarker, java.lang.String endMarker, FilePasswordProvider passwordProvider, java.util.List<java.lang.String> lines, java.util.Map<java.lang.String,java.lang.String> headers)
Extracts the key pairs within a single delimited by markers block of lines.java.lang.String
getAlgorithm()
java.lang.String
getAlgorithmIdentifier()
-
Methods inherited from class org.apache.sshd.common.config.keys.loader.AbstractKeyPairResourceParser
canExtractKeyPairs, extractKeyPairs, extractKeyPairs, getBeginners, getEnders, getEndingMarkers, loadKeyPairs, separateDataLinesFromHeaders
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader
loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs
-
Methods inherited from interface org.apache.sshd.common.config.keys.loader.KeyPairResourceParser
canExtractKeyPairs
-
-
-
-
Method Detail
-
getAlgorithm
public java.lang.String getAlgorithm()
- Specified by:
getAlgorithm
in interfaceAlgorithmNameProvider
-
getAlgorithmIdentifier
public java.lang.String getAlgorithmIdentifier()
- Specified by:
getAlgorithmIdentifier
in interfaceKeyPairPEMResourceParser
- Returns:
- The OID used to identify this algorithm in DER encodings - e.g., RSA=1.2.840.113549.1.1.1
-
extractKeyPairs
public java.util.Collection<java.security.KeyPair> extractKeyPairs(SessionContext session, NamedResource resourceKey, java.lang.String beginMarker, java.lang.String endMarker, FilePasswordProvider passwordProvider, java.util.List<java.lang.String> lines, java.util.Map<java.lang.String,java.lang.String> headers) throws java.io.IOException, java.security.GeneralSecurityException
Description copied from class:AbstractKeyPairResourceParser
Extracts the key pairs within a single delimited by markers block of lines. By default cleans up the empty lines, joins them and converts them from BASE64- Overrides:
extractKeyPairs
in classAbstractKeyPairResourceParser
- Parameters:
session
- TheSessionContext
for invoking this load command - may benull
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
- TheFilePasswordProvider
to use in case the data is encrypted - may benull
if no encryptedlines
- The block of lines between the markersheaders
- Any headers that may have been available when data was read- Returns:
- The extracted
KeyPair
s - may benull
/empty if none. - Throws:
java.io.IOException
- If failed to parse the datajava.security.GeneralSecurityException
- If failed to generate the keys
-
applyPrivateKeyCipher
protected byte[] applyPrivateKeyCipher(byte[] bytes, PrivateKeyEncryptionContext encContext, boolean encryptIt) throws java.security.GeneralSecurityException, java.io.IOException
- Throws:
java.security.GeneralSecurityException
java.io.IOException
-
-