public class ECDSAPEMResourceKeyPairParser extends AbstractPEMResourceKeyPairParser
Modifier and Type | Field and Description |
---|---|
static String |
BEGIN_MARKER |
static List<String> |
BEGINNERS |
static String |
ECDSA_OID |
static String |
END_MARKER |
static List<String> |
ENDERS |
static ECDSAPEMResourceKeyPairParser |
INSTANCE |
log
EMPTY
MAX_CIPHER_NAME_LENGTH, MAX_KEY_COMMENT_LENGTH, MAX_KEY_TYPE_NAME_LENGTH, MAX_PRIVATE_KEY_DATA_SIZE, MAX_PUBLIC_KEY_DATA_SIZE
Constructor and Description |
---|
ECDSAPEMResourceKeyPairParser() |
applyPrivateKeyCipher, extractKeyPairs, getAlgorithm, getAlgorithmIdentifier
canExtractKeyPairs, extractKeyPairs, getBeginners, getEnders, getEndingMarkers, loadKeyPairs, separateDataLinesFromHeaders
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
aggregate, aggregate, canExtractKeyPairs, containsMarkerLine, containsMarkerLine, extractDataBytes, findMarkerLine, findMarkerLine, joinDataLines
loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs, loadKeyPairs
public static final String BEGIN_MARKER
public static final String END_MARKER
public static final String ECDSA_OID
public static final ECDSAPEMResourceKeyPairParser INSTANCE
public Collection<KeyPair> extractKeyPairs(SessionContext session, NamedResource resourceKey, String beginMarker, String endMarker, FilePasswordProvider passwordProvider, InputStream stream, Map<String,String> headers) throws IOException, GeneralSecurityException
extractKeyPairs
in class AbstractKeyPairResourceParser
session
- The SessionContext
for invoking this load command - may be null
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
- The FilePasswordProvider
to use in case the data is encrypted - may be
null
if no encryptedstream
- The decoded data InputStream
headers
- Any headers that may have been available when data was readKeyPair
s - may be null
/empty if none.IOException
- If failed to parse the dataGeneralSecurityException
- If failed to generate the keyspublic static KeyPair parseECKeyPair(InputStream inputStream, boolean okToClose) throws IOException, GeneralSecurityException
IOException
GeneralSecurityException
public static KeyPair parseECKeyPair(ECCurves curve, DERParser parser) throws IOException, GeneralSecurityException
curve
- The curve
represented by this data (in case it was optional and
somehow known externally) if null
then it is assumed to be part of the
parsed data. then it is assumed to be part of the data.parser
- The DERParser
for the dataKeyPair
IOException
- If failed to parse the dataGeneralSecurityException
- If failed to generate the keyspublic 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
}
curve
- The curve
represented by this data (in case it was optional and somehow
known externally) if null
then it is assumed to be part of the parsed data.sequence
- The ASN1Object
sequence containing the DER encoded dataAbstractMap.SimpleImmutableEntry
of ECPublicKeySpec
and
ECPrivateKeySpec
IOException
- If failed to to decode the DER streampublic static Map.Entry<ECPrivateKeySpec,ASN1Object> decodeECPrivateKeySpec(ECCurves curve, DERParser parser) throws IOException
IOException
public static Map.Entry<ECCurves,ASN1Object> parseCurveParameter(DERParser parser) throws IOException
IOException
public static Map.Entry<ECCurves,ASN1Object> parseCurveParameter(ASN1Object paramsObject) throws IOException
IOException
public static final ECPoint decodeECPublicKeyValue(DERParser parser) throws IOException
ASN.1 syntax according to rfc5915 is:
publicKey [1] BIT STRING OPTIONAL
parser
- The DERParser
assumed to be positioned at the start of the dataECPoint
IOException
- If failed to create the pointpublic static final ECPoint decodeECPublicKeyValue(ASN1Object dataObject) throws IOException
IOException
public static final ECPoint decodeECPointData(ASN1Object pointData) throws IOException
IOException
Copyright © 2008–2024 The Apache Software Foundation. All rights reserved.