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
-
-
Field Summary
Fields Modifier and Type Field Description static String
BEGIN_MARKER
static List<String>
BEGINNERS
static String
END_MARKER
static List<String>
ENDERS
static RSAPEMResourceKeyPairParser
INSTANCE
static String
RSA_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 KeyPair
decodeRSAKeyPair(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
getSimplifiedLogger
-
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:
- RFC-3279 section 2.3.1, 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:
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 encryptedstream
- The decoded dataInputStream
headers
- Any headers that may have been available when data was read- Returns:
- The extracted
KeyPair
s - 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
- TheKeyFactory
To use to generate the keyss
- TheInputStream
containing the encoded bytesokToClose
-true
if 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
-
-