Class ECDSAPEMResourceKeyPairParser
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.ECDSAPEMResourceKeyPairParser
- All Implemented Interfaces:
AlgorithmNameProvider
,KeyPairResourceLoader
,KeyPairResourceParser
,KeyPairPEMResourceParser
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final ECDSAPEMResourceKeyPairParser
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 -
Method Summary
Modifier and TypeMethodDescriptionstatic final ECPoint
decodeECPointData
(ASN1Object pointData) static Map.Entry
<ECPublicKeySpec, ECPrivateKeySpec> decodeECPrivateKeySpec
(ECCurves curve, ASN1Object sequence) ASN.1 syntax according to RFC 5915 is:static Map.Entry
<ECPrivateKeySpec, ASN1Object> decodeECPrivateKeySpec
(ECCurves curve, DERParser parser) static final ECPoint
decodeECPublicKeyValue
(ASN1Object dataObject) static final ECPoint
decodeECPublicKeyValue
(DERParser parser) ASN.1 syntax according to rfc5915 is:extractKeyPairs
(SessionContext session, NamedResource resourceKey, String beginMarker, String endMarker, FilePasswordProvider passwordProvider, InputStream stream, Map<String, String> headers) static Map.Entry
<ECCurves, ASN1Object> parseCurveParameter
(ASN1Object paramsObject) static Map.Entry
<ECCurves, ASN1Object> parseCurveParameter
(DERParser parser) static KeyPair
parseECKeyPair
(InputStream inputStream, boolean okToClose) static KeyPair
parseECKeyPair
(ECCurves curve, DERParser parser) 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 Details
-
BEGIN_MARKER
- See Also:
-
BEGINNERS
-
END_MARKER
- See Also:
-
ENDERS
-
ECDSA_OID
- See Also:
-
INSTANCE
-
-
Constructor Details
-
ECDSAPEMResourceKeyPairParser
public ECDSAPEMResourceKeyPairParser()
-
-
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:
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
-
parseECKeyPair
public static KeyPair parseECKeyPair(InputStream inputStream, boolean okToClose) throws IOException, GeneralSecurityException - Throws:
IOException
GeneralSecurityException
-
parseECKeyPair
public static KeyPair parseECKeyPair(ECCurves curve, DERParser parser) throws IOException, GeneralSecurityException - Parameters:
curve
- Thecurve
represented by this data (in case it was optional and somehow known externally) ifnull
then it is assumed to be part of the parsed data. then it is assumed to be part of the data.parser
- TheDERParser
for the data- Returns:
- The parsed
KeyPair
- Throws:
IOException
- If failed to parse the dataGeneralSecurityException
- If failed to generate the keys
-
decodeECPrivateKeySpec
public static Map.Entry<ECPublicKeySpec,ECPrivateKeySpec> decodeECPrivateKeySpec(ECCurves curve, ASN1Object sequence) throws IOException ASN.1 syntax according to RFC 5915 is:
ECPrivateKey ::= SEQUENCE { version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1), privateKey OCTET STRING, parameters [0] ECParameters {{ NamedCurve }} OPTIONAL, publicKey [1] BIT STRING OPTIONAL }
ECParameters syntax according to RFC5480:
ECParameters ::= CHOICE { namedCurve OBJECT IDENTIFIER -- implicitCurve NULL -- specifiedCurve SpecifiedECDomain }
- Parameters:
curve
- Thecurve
represented by this data (in case it was optional and somehow known externally) ifnull
then it is assumed to be part of the parsed data.sequence
- TheASN1Object
sequence containing the DER encoded data- Returns:
- The decoded
AbstractMap.SimpleImmutableEntry
ofECPublicKeySpec
andECPrivateKeySpec
- Throws:
IOException
- If failed to to decode the DER stream
-
decodeECPrivateKeySpec
public static Map.Entry<ECPrivateKeySpec,ASN1Object> decodeECPrivateKeySpec(ECCurves curve, DERParser parser) throws IOException - Throws:
IOException
-
parseCurveParameter
public static Map.Entry<ECCurves,ASN1Object> parseCurveParameter(DERParser parser) throws IOException - Throws:
IOException
-
parseCurveParameter
public static Map.Entry<ECCurves,ASN1Object> parseCurveParameter(ASN1Object paramsObject) throws IOException - Throws:
IOException
-
decodeECPublicKeyValue
ASN.1 syntax according to rfc5915 is:
publicKey [1] BIT STRING OPTIONAL
- Parameters:
parser
- TheDERParser
assumed to be positioned at the start of the data- Returns:
- The encoded
ECPoint
- Throws:
IOException
- If failed to create the point
-
decodeECPublicKeyValue
- Throws:
IOException
-
decodeECPointData
- Throws:
IOException
-