public class RSAPEMResourceKeyPairParser extends AbstractPEMResourceKeyPairParser
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
BEGIN_MARKER |
static java.util.List<java.lang.String> |
BEGINNERS |
static java.lang.String |
END_MARKER |
static java.util.List<java.lang.String> |
ENDERS |
static RSAPEMResourceKeyPairParser |
INSTANCE |
static java.lang.String |
RSA_OID |
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 |
---|
RSAPEMResourceKeyPairParser() |
Modifier and Type | Method and Description |
---|---|
static java.security.KeyPair |
decodeRSAKeyPair(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) |
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 java.lang.String BEGIN_MARKER
public static final java.util.List<java.lang.String> BEGINNERS
public static final java.lang.String END_MARKER
public static final java.util.List<java.lang.String> ENDERS
public static final java.lang.String RSA_OID
public static final RSAPEMResourceKeyPairParser INSTANCE
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) throws java.io.IOException, java.security.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.java.io.IOException
- If failed to parse the datajava.security.GeneralSecurityException
- If failed to generate the keyspublic static java.security.KeyPair decodeRSAKeyPair(java.security.KeyFactory kf, java.io.InputStream s, boolean okToClose) throws java.io.IOException, java.security.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
}
kf
- The KeyFactory
To use to generate the keyss
- The InputStream
containing the encoded bytesokToClose
- true
if the method may close the input
stream regardless of success or failureKeyPair
java.io.IOException
- If failed to read or decode the bytesjava.security.GeneralSecurityException
- If failed to generate the keys