You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Xianda Ke (JIRA)" <ji...@apache.org> on 2016/06/16 02:50:05 UTC
[jira] [Created] (CRYPTO-77) Hide Steam's Ctor with cipher
parameter
Xianda Ke created CRYPTO-77:
-------------------------------
Summary: Hide Steam's Ctor with cipher parameter
Key: CRYPTO-77
URL: https://issues.apache.org/jira/browse/CRYPTO-77
Project: Commons Crypto
Issue Type: Bug
Reporter: Xianda Ke
Stream has such two Ctor:
{code}
// denoted as (a)
public CryptoInputStream(InputStream in, CryptoCipher cipher,
int bufferSize, Key key, AlgorithmParameterSpec params)
// denoted as (b)
public CryptoInputStream(CipherTransformation transformation,
Properties props, InputStream in, Key key,
AlgorithmParameterSpec params)
{code}
if use Ctor (b), client user don't have to construct a cipher. make sense.
But, in Ctor (a), the cipher argument is create outside Ctor, then it is initialized in CryptoInputStream's Ctor. The cipher’s construction is scattered. It is a bit confusing.
Ctor (a) seem only used internally. It would be better to hide Ctor (a) for user.
In future, we can consider this:
{code}
// don't pass key and iv param, the cipher should be initialized outside
// similar to JDK, and more scalable to support GCM, CCM modes.
CryptoInputStream(InputStream in, CryptoCipher cipher, int bufferSize)
{code}
right now, we just hide Ctor (a) for user.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)