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
public class RSAPEMResourceKeyPairParser extends AbstractPEMResourceKeyPairParser
- Author:
- Apache MINA SSHD Project
- See Also:
- RFC-3279 section 2.3.1
-
-
Field Summary
Fields Modifier and Type Field Description static StringBEGIN_MARKERstatic List<String>BEGINNERSstatic StringEND_MARKERstatic List<String>ENDERSstatic RSAPEMResourceKeyPairParserINSTANCEstatic StringRSA_OID-
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 Constructor Description RSAPEMResourceKeyPairParser()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static KeyPairdecodeRSAKeyPair(KeyFactory kf, InputStream s, boolean okToClose)The ASN.1 syntax for the private key as per RFC-3447 section A.1.2:Collection<KeyPair>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, getAlgorithmIdentifier
-
Methods inherited from class org.apache.sshd.common.config.keys.loader.AbstractKeyPairResourceParser
canExtractKeyPairs, 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
-
-
-
-
Field Detail
-
BEGIN_MARKER
public static final String BEGIN_MARKER
- See Also:
- Constant Field Values
-
END_MARKER
public static final String END_MARKER
- See Also:
- Constant Field Values
-
RSA_OID
public static final String RSA_OID
- See Also:
- Constant Field Values
-
INSTANCE
public static final RSAPEMResourceKeyPairParser INSTANCE
-
-
Method Detail
-
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
-
-