Package org.conscrypt
Class OpenSSLCipherRSA
- java.lang.Object
-
- javax.crypto.CipherSpi
-
- org.conscrypt.OpenSSLCipherRSA
-
- Direct Known Subclasses:
OpenSSLCipherRSA.DirectRSA,OpenSSLCipherRSA.OAEP
@Internal public abstract class OpenSSLCipherRSA extends javax.crypto.CipherSpi
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classOpenSSLCipherRSA.DirectRSAstatic classOpenSSLCipherRSA.OAEPstatic classOpenSSLCipherRSA.PKCS1static classOpenSSLCipherRSA.Raw
-
Field Summary
Fields Modifier and Type Field Description private byte[]bufferBuffer for operationsprivate intbufferOffsetCurrent offset in the buffer.(package private) booleanencryptingCurrent cipher mode: encrypting or decrypting.private booleaninputTooLargeFlag that indicates an exception should be thrown when the input is too large during doFinal.(package private) OpenSSLKeykeyThe current OpenSSL key we're operating on.(package private) intpaddingCurrent padding mode(package private) booleanusingPrivateKeyCurrent key type: private or public.
-
Constructor Summary
Constructors Constructor Description OpenSSLCipherRSA(int padding)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) voiddoCryptoInit(java.security.spec.AlgorithmParameterSpec spec)(package private) abstract intdoCryptoOperation(byte[] tmpBuf, byte[] output)protected byte[]engineDoFinal(byte[] input, int inputOffset, int inputLen)protected intengineDoFinal(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset)protected intengineGetBlockSize()protected byte[]engineGetIV()protected intengineGetKeySize(java.security.Key key)protected intengineGetOutputSize(int inputLen)protected java.security.AlgorithmParametersengineGetParameters()protected voidengineInit(int opmode, java.security.Key key, java.security.AlgorithmParameters params, java.security.SecureRandom random)protected voidengineInit(int opmode, java.security.Key key, java.security.SecureRandom random)protected voidengineInit(int opmode, java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)(package private) voidengineInitInternal(int opmode, java.security.Key key, java.security.spec.AlgorithmParameterSpec spec)protected voidengineSetMode(java.lang.String mode)protected voidengineSetPadding(java.lang.String padding)protected java.security.KeyengineUnwrap(byte[] wrappedKey, java.lang.String wrappedKeyAlgorithm, int wrappedKeyType)protected byte[]engineUpdate(byte[] input, int inputOffset, int inputLen)protected intengineUpdate(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset)protected byte[]engineWrap(java.security.Key key)(package private) booleanisInitialized()Returnstrueif the cipher has been initialized.(package private) intkeySizeBytes()(package private) intpaddedBlockSizeBytes()
-
-
-
Field Detail
-
key
OpenSSLKey key
The current OpenSSL key we're operating on.
-
usingPrivateKey
boolean usingPrivateKey
Current key type: private or public.
-
encrypting
boolean encrypting
Current cipher mode: encrypting or decrypting.
-
buffer
private byte[] buffer
Buffer for operations
-
bufferOffset
private int bufferOffset
Current offset in the buffer.
-
inputTooLarge
private boolean inputTooLarge
Flag that indicates an exception should be thrown when the input is too large during doFinal.
-
padding
int padding
Current padding mode
-
-
Method Detail
-
engineSetMode
protected void engineSetMode(java.lang.String mode) throws java.security.NoSuchAlgorithmException- Specified by:
engineSetModein classjavax.crypto.CipherSpi- Throws:
java.security.NoSuchAlgorithmException
-
engineSetPadding
protected void engineSetPadding(java.lang.String padding) throws javax.crypto.NoSuchPaddingException- Specified by:
engineSetPaddingin classjavax.crypto.CipherSpi- Throws:
javax.crypto.NoSuchPaddingException
-
engineGetBlockSize
protected int engineGetBlockSize()
- Specified by:
engineGetBlockSizein classjavax.crypto.CipherSpi
-
engineGetOutputSize
protected int engineGetOutputSize(int inputLen)
- Specified by:
engineGetOutputSizein classjavax.crypto.CipherSpi
-
paddedBlockSizeBytes
int paddedBlockSizeBytes()
-
keySizeBytes
int keySizeBytes()
-
isInitialized
boolean isInitialized()
Returnstrueif the cipher has been initialized.
-
engineGetIV
protected byte[] engineGetIV()
- Specified by:
engineGetIVin classjavax.crypto.CipherSpi
-
engineGetParameters
protected java.security.AlgorithmParameters engineGetParameters()
- Specified by:
engineGetParametersin classjavax.crypto.CipherSpi
-
doCryptoInit
void doCryptoInit(java.security.spec.AlgorithmParameterSpec spec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException- Throws:
java.security.InvalidAlgorithmParameterExceptionjava.security.InvalidKeyException
-
engineInitInternal
void engineInitInternal(int opmode, java.security.Key key, java.security.spec.AlgorithmParameterSpec spec) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException- Throws:
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterException
-
engineGetKeySize
protected int engineGetKeySize(java.security.Key key) throws java.security.InvalidKeyException- Overrides:
engineGetKeySizein classjavax.crypto.CipherSpi- Throws:
java.security.InvalidKeyException
-
engineInit
protected void engineInit(int opmode, java.security.Key key, java.security.SecureRandom random) throws java.security.InvalidKeyException- Specified by:
engineInitin classjavax.crypto.CipherSpi- Throws:
java.security.InvalidKeyException
-
engineInit
protected void engineInit(int opmode, java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException- Specified by:
engineInitin classjavax.crypto.CipherSpi- Throws:
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterException
-
engineInit
protected void engineInit(int opmode, java.security.Key key, java.security.AlgorithmParameters params, java.security.SecureRandom random) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException- Specified by:
engineInitin classjavax.crypto.CipherSpi- Throws:
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterException
-
engineUpdate
protected byte[] engineUpdate(byte[] input, int inputOffset, int inputLen)- Specified by:
engineUpdatein classjavax.crypto.CipherSpi
-
engineUpdate
protected int engineUpdate(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset) throws javax.crypto.ShortBufferException- Specified by:
engineUpdatein classjavax.crypto.CipherSpi- Throws:
javax.crypto.ShortBufferException
-
engineDoFinal
protected byte[] engineDoFinal(byte[] input, int inputOffset, int inputLen) throws javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException- Specified by:
engineDoFinalin classjavax.crypto.CipherSpi- Throws:
javax.crypto.IllegalBlockSizeExceptionjavax.crypto.BadPaddingException
-
doCryptoOperation
abstract int doCryptoOperation(byte[] tmpBuf, byte[] output) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException- Throws:
javax.crypto.BadPaddingExceptionjavax.crypto.IllegalBlockSizeException
-
engineDoFinal
protected int engineDoFinal(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset) throws javax.crypto.ShortBufferException, javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException- Specified by:
engineDoFinalin classjavax.crypto.CipherSpi- Throws:
javax.crypto.ShortBufferExceptionjavax.crypto.IllegalBlockSizeExceptionjavax.crypto.BadPaddingException
-
engineWrap
protected byte[] engineWrap(java.security.Key key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException- Overrides:
engineWrapin classjavax.crypto.CipherSpi- Throws:
javax.crypto.IllegalBlockSizeExceptionjava.security.InvalidKeyException
-
engineUnwrap
protected java.security.Key engineUnwrap(byte[] wrappedKey, java.lang.String wrappedKeyAlgorithm, int wrappedKeyType) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException- Overrides:
engineUnwrapin classjavax.crypto.CipherSpi- Throws:
java.security.InvalidKeyExceptionjava.security.NoSuchAlgorithmException
-
-