Class RSAPEMResourceKeyPairParser
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
org.apache.sshd.common.config.keys.loader.pem.RSAPEMResourceKeyPairParser
- All Implemented Interfaces:
AlgorithmNameProvider,KeyPairResourceLoader,KeyPairResourceParser,KeyPairPEMResourceParser
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final RSAPEMResourceKeyPairParserstatic final StringFields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
logFields 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_SIZEFields inherited from interface org.apache.sshd.common.config.keys.loader.KeyPairResourceParser
EMPTY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic KeyPairdecodeRSAKeyPair(KeyFactory kf, InputStream s, boolean okToClose) The ASN.1 syntax for the private key as per RFC-3447 section A.1.2:extractKeyPairs(SessionContext session, NamedResource resourceKey, String beginMarker, String endMarker, FilePasswordProvider passwordProvider, InputStream stream, Map<String, String> headers) Methods inherited from class org.apache.sshd.common.config.keys.loader.pem.AbstractPEMResourceKeyPairParser
applyPrivateKeyCipher, extractKeyPairs, getAlgorithm, getAlgorithmIdentifierMethods inherited from class org.apache.sshd.common.config.keys.loader.AbstractKeyPairResourceParser
canExtractKeyPairs, extractKeyPairs, getBeginners, getEnders, getEndingMarkers, loadKeyPairs, separateDataLinesFromHeadersMethods 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, warnMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.sshd.common.config.keys.loader.KeyPairResourceLoader
loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairsMethods inherited from interface org.apache.sshd.common.config.keys.loader.KeyPairResourceParser
canExtractKeyPairs
-
Field Details
-
BEGIN_MARKER
- See Also:
-
BEGINNERS
-
END_MARKER
- See Also:
-
ENDERS
-
RSA_OID
- See Also:
-
INSTANCE
-
-
Constructor Details
-
RSAPEMResourceKeyPairParser
public RSAPEMResourceKeyPairParser()
-
-
Method Details
-
extractKeyPairs
public Collection<KeyPair> extractKeyPairs(SessionContext session, NamedResource resourceKey, String beginMarker, String endMarker, FilePasswordProvider passwordProvider, InputStream stream, Map<String, String> headers) throws IOException, GeneralSecurityException- Specified by:
extractKeyPairsin classAbstractKeyPairResourceParser- Parameters:
session- TheSessionContextfor invoking this load command - may benullif 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- TheFilePasswordProviderto use in case the data is encrypted - may benullif no encryptedstream- The decoded dataInputStreamheaders- Any headers that may have been available when data was read- Returns:
- The extracted
KeyPairs - may benull/empty if none. - Throws:
IOException- If failed to parse the dataGeneralSecurityException- If failed to generate the keys
-
decodeRSAKeyPair
public static KeyPair decodeRSAKeyPair(KeyFactory kf, InputStream s, boolean okToClose) throws IOException, GeneralSecurityException The ASN.1 syntax for the private key as per RFC-3447 section A.1.2:
RSAPrivateKey ::= SEQUENCE { version Version, modulus INTEGER, -- n publicExponent INTEGER, -- e privateExponent INTEGER, -- d prime1 INTEGER, -- p prime2 INTEGER, -- q exponent1 INTEGER, -- d mod (p-1) exponent2 INTEGER, -- d mod (q-1) coefficient INTEGER, -- (inverse of q) mod p otherPrimeInfos OtherPrimeInfos OPTIONAL }- Parameters:
kf- TheKeyFactoryTo use to generate the keyss- TheInputStreamcontaining the encoded bytesokToClose-trueif the method may close the input stream regardless of success or failure- Returns:
- The recovered
KeyPair - Throws:
IOException- If failed to read or decode the bytesGeneralSecurityException- If failed to generate the keys
-