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
- See Also:
- RFC-3279 section 2.3.1
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringBEGIN_MARKERstatic java.util.List<java.lang.String>BEGINNERSstatic java.lang.StringEND_MARKERstatic java.util.List<java.lang.String>ENDERSstatic RSAPEMResourceKeyPairParserINSTANCEstatic java.lang.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 java.security.KeyPairdecodeRSAKeyPair(java.security.KeyFactory kf, java.io.InputStream s, boolean okToClose)The ASN.1 syntax for the private key as per RFC-3447 section A.1.2:java.util.Collection<java.security.KeyPair>extractKeyPairs(SessionContext session, NamedResource resourceKey, java.lang.String beginMarker, java.lang.String endMarker, FilePasswordProvider passwordProvider, java.io.InputStream stream, java.util.Map<java.lang.String,java.lang.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 java.lang.String BEGIN_MARKER
- See Also:
- Constant Field Values
-
BEGINNERS
public static final java.util.List<java.lang.String> BEGINNERS
-
END_MARKER
public static final java.lang.String END_MARKER
- See Also:
- Constant Field Values
-
ENDERS
public static final java.util.List<java.lang.String> ENDERS
-
RSA_OID
public static final java.lang.String RSA_OID
- See Also:
- Constant Field Values
-
INSTANCE
public static final RSAPEMResourceKeyPairParser INSTANCE
-
-
Method Detail
-
extractKeyPairs
public java.util.Collection<java.security.KeyPair> extractKeyPairs(SessionContext session, NamedResource resourceKey, java.lang.String beginMarker, java.lang.String endMarker, FilePasswordProvider passwordProvider, java.io.InputStream stream, java.util.Map<java.lang.String,java.lang.String> headers) throws java.io.IOException, java.security.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:
java.io.IOException- If failed to parse the datajava.security.GeneralSecurityException- If failed to generate the keys
-
decodeRSAKeyPair
public static java.security.KeyPair decodeRSAKeyPair(java.security.KeyFactory kf, java.io.InputStream s, boolean okToClose) throws java.io.IOException, java.security.GeneralSecurityExceptionThe 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:
java.io.IOException- If failed to read or decode the bytesjava.security.GeneralSecurityException- If failed to generate the keys
-
-