public class OpenSSHRSAPrivateKeyDecoder extends AbstractPrivateKeyEntryDecoder<java.security.interfaces.RSAPublicKey,java.security.interfaces.RSAPrivateKey>
Modifier and Type | Field and Description |
---|---|
static java.math.BigInteger |
DEFAULT_PUBLIC_EXPONENT |
static OpenSSHRSAPrivateKeyDecoder |
INSTANCE |
log
FAILING, IGNORING
Constructor and Description |
---|
OpenSSHRSAPrivateKeyDecoder() |
Modifier and Type | Method and Description |
---|---|
java.security.interfaces.RSAPrivateKey |
clonePrivateKey(java.security.interfaces.RSAPrivateKey key) |
java.security.interfaces.RSAPublicKey |
clonePublicKey(java.security.interfaces.RSAPublicKey key) |
java.security.interfaces.RSAPrivateKey |
decodePrivateKey(java.lang.String keyType,
FilePasswordProvider passwordProvider,
java.io.InputStream keyData) |
java.security.KeyFactory |
getKeyFactoryInstance() |
java.security.KeyPairGenerator |
getKeyPairGenerator() |
boolean |
isPublicKeyRecoverySupported() |
java.security.interfaces.RSAPublicKey |
recoverPublicKey(java.security.interfaces.RSAPrivateKey privateKey)
Attempts to recover the public key given the private one
|
generatePrivateKey, generatePublicKey, toString
getPrivateKeyType, getPublicKeyType, getSupportedTypeNames
getSimplifiedLogger
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
decodePrivateKey, decodePrivateKey, decodePrivateKey, encodePrivateKey, resolve
cloneKeyPair, decodeBigInt, decodeInt, decodeString, decodeString, decodeString, encodeBigInt, encodeInt, encodeString, encodeString, encodeString, generateKeyPair, readRLEBytes, writeRLEBytes, writeRLEBytes
getPrivateKeyType, getPublicKeyType, getSupportedTypeNames
public static final java.math.BigInteger DEFAULT_PUBLIC_EXPONENT
public static final OpenSSHRSAPrivateKeyDecoder INSTANCE
public java.security.interfaces.RSAPrivateKey decodePrivateKey(java.lang.String keyType, FilePasswordProvider passwordProvider, java.io.InputStream keyData) throws java.io.IOException, java.security.GeneralSecurityException
keyType
- The reported / encode key typepasswordProvider
- The FilePasswordProvider
to use
in case the data is encrypted - may be null
if no encrypted
data is expectedkeyData
- The key data bytes stream positioned after the key type decoding
and making sure it is one of the supported typesPrivateKey
java.io.IOException
- If failed to read from the data streamjava.security.GeneralSecurityException
- If failed to generate the keypublic boolean isPublicKeyRecoverySupported()
public java.security.interfaces.RSAPublicKey recoverPublicKey(java.security.interfaces.RSAPrivateKey privateKey) throws java.security.GeneralSecurityException
PrivateKeyEntryDecoder
privateKey
- The PrivateKey
PublicKey
- null
if cannot recover itjava.security.GeneralSecurityException
- If failed to generate the public keypublic java.security.interfaces.RSAPublicKey clonePublicKey(java.security.interfaces.RSAPublicKey key) throws java.security.GeneralSecurityException
key
- The PublicKey
to clone - ignored if null
null
if no original key)java.security.GeneralSecurityException
- If failed to clone the keypublic java.security.interfaces.RSAPrivateKey clonePrivateKey(java.security.interfaces.RSAPrivateKey key) throws java.security.GeneralSecurityException
key
- The PrivateKey
to clone - ignored if null
null
if no original key)java.security.GeneralSecurityException
- If failed to clone the keypublic java.security.KeyPairGenerator getKeyPairGenerator() throws java.security.GeneralSecurityException
KeyPairGenerator
suitable for this decoderjava.security.GeneralSecurityException
- If failed to create the generatorpublic java.security.KeyFactory getKeyFactoryInstance() throws java.security.GeneralSecurityException
KeyFactory
suitable for the specific decoder typejava.security.GeneralSecurityException
- If failed to create one