public class PKCS8PEMResourceKeyPairParser extends AbstractPEMResourceKeyPairParser
Modifier and Type | Field and Description |
---|---|
static String |
BEGIN_MARKER |
static List<String> |
BEGINNERS |
static String |
END_MARKER |
static List<String> |
ENDERS |
static PKCS8PEMResourceKeyPairParser |
INSTANCE |
static String |
PKCS8_FORMAT |
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 |
---|
PKCS8PEMResourceKeyPairParser() |
Modifier and Type | Method and Description |
---|---|
static PrivateKey |
decodePEMPrivateKeyPKCS8(List<Integer> oidAlgorithm,
byte[] keyBytes) |
static PrivateKey |
decodePEMPrivateKeyPKCS8(String oid,
byte[] keyBytes) |
Collection<KeyPair> |
extractKeyPairs(SessionContext session,
NamedResource resourceKey,
String beginMarker,
String endMarker,
FilePasswordProvider passwordProvider,
InputStream stream) |
static List<Integer> |
getPKCS8AlgorithmIdentifier(ASN1Object privateKeyInfo) |
static List<Integer> |
getPKCS8AlgorithmIdentifier(byte[] input) |
static List<Integer> |
getPKCS8AlgorithmIdentifier(DERParser parser)
According to the standard:
|
applyPrivateKeyCipher, extractKeyPairs, getAlgorithm, getAlgorithmIdentifier
canExtractKeyPairs, extractKeyPairs, getBeginners, getEnders, getEndingMarkers, loadKeyPairs
getSimplifiedLogger
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 PKCS8_FORMAT
public static final PKCS8PEMResourceKeyPairParser INSTANCE
public Collection<KeyPair> extractKeyPairs(SessionContext session, NamedResource resourceKey, String beginMarker, String endMarker, FilePasswordProvider passwordProvider, InputStream stream) 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
KeyPair
s - may be null
/empty if none.IOException
- If failed to parse the dataGeneralSecurityException
- If failed to generate the keyspublic static PrivateKey decodePEMPrivateKeyPKCS8(List<Integer> oidAlgorithm, byte[] keyBytes) throws GeneralSecurityException
GeneralSecurityException
public static PrivateKey decodePEMPrivateKeyPKCS8(String oid, byte[] keyBytes) throws GeneralSecurityException
GeneralSecurityException
public static List<Integer> getPKCS8AlgorithmIdentifier(byte[] input) throws IOException
IOException
public static List<Integer> getPKCS8AlgorithmIdentifier(DERParser parser) throws IOException
PrivateKeyInfo ::= SEQUENCE {
version Version,
privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
privateKey PrivateKey,
attributes [0] IMPLICIT Attributes OPTIONAL
}
Version ::= INTEGER
PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
PrivateKey ::= OCTET STRING
Attributes ::= SET OF Attribute
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
parser
- The DERParser
to useIOException
- If malformed datagetPKCS8AlgorithmIdentifier(ASN1Object)
public static List<Integer> getPKCS8AlgorithmIdentifier(ASN1Object privateKeyInfo) throws IOException
IOException
Copyright © 2008–2022 The Apache Software Foundation. All rights reserved.